我在使用* =或明确使用我的代码时遇到问题。我正在尝试在Python中进行简单的整数乘法和加法。所以要取一个数字,将它乘以3并加1.有具体情况我应该使用:
number *= 3
number += 1
或
number = (number * 3) + 1
这两者之间是否有区别,或者这是个人偏好的问题?
答案 0 :(得分:4)
对于像整数这样的简单值,它通常不会有任何区别,并且是一种风格问题。对于其他对象,可能会产生影响,因为+
将调用__add__
方法,+=
将调用__iadd__
方法(如果存在),更新对象本身。想到的简单示例(此处演示__ior__
):
foo = set('foo')
bar = foo
bar = bar | set('bar')
# vs
bar |= set('bar')
在这种情况下,|
和|=
之间的区别在于后者也会修改foo
,而|
则不会。{/ p>