Python中的+=、-=、*=和/=代表什么?
在Python中,
+=、-=、*= 和 /=
这些符号是什么意思?还有它们在while循环中怎么用?
5 个回答
2
这些是运算符赋值的简写方式:
Operator symbol Name of the operator Example Equivalent construct
+= Addition assignment x += 4; x = x + 4;
-= Subtraction assignment x -= 4; x = x - 4;
*= Multiplication assignment x *= 4; x = x * 4;
/= Division assignment x /= 4; x = x / 4;
%= Remainder assignment x %= 4; x = x % 4;
5
这些符号(+=
, -=
, *=
和 /=
)被称为增强型算术赋值。它们对应着一些特定的方法:
object.__iadd__(self, other)
object.__isub__(self, other)
object.__imul__(self, other)
object.__idiv__(self, other)
这里的 i
表示“就地”,意思是说这些操作会直接修改对象(在数字的情况下是引用),而不需要再额外赋值:
while condition:
foo += bar
这相当于:
while condition:
foo = foo + bar
5
他们在执行一个操作,然后把结果放到变量里:
a += b
的意思和 a = a + b
是一样的。
a -= b
的意思和 a = a - b
是一样的。
a *= b
的意思和 a = a * b
是一样的。
a /= b
的意思和 a = a / b
是一样的。
你可以在 while
循环中像使用这些扩展形式一样使用它们:
i = 0
while i < 5:
print i
i += 1 # The same of i = i + 1