Python中的+=、-=、*=和/=代表什么?

0 投票
5 回答
41035 浏览
提问于 2025-04-17 20:31

在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

撰写回答