num - 1" 和 "num -= 1

1 投票
9 回答
17675 浏览
提问于 2025-04-17 17:01

在第4行,为什么在“-”后面要加一个“=”呢?

num = 5
if num > 2:
    print(num)
    num -= 1
print(num)

9 个回答

5

因为 num - 1 这个操作只是计算出一个比 num 小一的值,但并不会改变 num 的实际值。而 num -= 1 则是直接把 num 的值减去一,也就是说它会把 num 的值更新为减去一后的结果。

5

这里的 = 是用来把减法的结果重新赋值给 num 的。

下面这段代码:

num -= 1

是从 num 中减去一,并且把结果重新赋值给 num

而下面这段代码:

num - 1

也是从 num 中减去一,但 结果没有被保存

12

num - 1:这个操作是从num里减去1,结果会出来,但num本身不会改变。

num -= 1:这个操作是从num里减去1,然后把这个结果存回num里(就相当于num = num - 1,当num是一个数字的时候)。

需要注意的是,你可以把num - 1当作一个表达式来用,因为它会产生一个结果,比如可以写成foo = num - 1,或者print(num - 1),但是在Python里,你不能把num -= 1当作表达式来用。

撰写回答