python中的+=
注意点:
-
就地修改: 使用
+=会就地修改可变对象,如列表或字典,而不是创建一个新的对象。这意味着原始对象会被改变。 -
与+运算符的区别:
+=与+运算符不同。对于不可变对象(如字符串、元组等),+=通常会创建一个新对象,而不是就地修改。 -
可变对象 vs 不可变对象: 对于可变对象(如列表、字典),
+=会就地修改原始对象,而对于不可变对象(如字符串、元组),+=通常会创建一个新对象。 -
可读性: 对于可变对象,
+=可以更高效,但有时会损害可读性。如果改变原始对象可能会导致混乱,你可以考虑创建一个新的对象并使用赋值操作符。
一个易发生错误的案例:
a是一个列表,比如a = [1, 2, 3],当将a作为实际参数传入某个函数内时,比如进行了赋值:b=a,如果b执行了b+=[1],那么函数外的a也会变成[1, 2, 3, 1]

浙公网安备 33010602011771号