“num - 1”vs“num - = 1”

时间:2013-02-25 09:12:26

标签: python

第4行为什么我们必须在“ - ”之后添加“=”?

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

9 个答案:

答案 0 :(得分:11)

num - 1:生成从num中减去一个的结果; num未更改

num -= 1:从num中减去一个并存储该结果(当num = num - 1为数字时相当于num

请注意,您可以将num - 1用作表达式,因为它会产生结果,例如foo = num - 1print(num - 1),但您不能将num -= 1用作Python中的表达式。

答案 1 :(得分:5)

num -= 1

相同
num = num - 1

答案 2 :(得分:5)

需要=才能将减法结果分配回num

以下内容:

num -= 1

num 中减去一个,并将结果分配回num

另一方面,以下内容:

num - 1

num 中减去一个并丢弃结果

答案 3 :(得分:5)

由于num - 1不执行任何操作,但num -= 1会将num的值更改为减1。

答案 4 :(得分:3)

你基本上要求区别

num - 1

num -= 1

前者是一个评估为num - 1的表达式。后者是将num - 1分配给num的作业。

因此,前者不会修改num,后者会修改。{/ p>

答案 5 :(得分:3)

这是一个较短的写作版本:

num = num - 1

答案 6 :(得分:2)

除非您需要为程序正确运行,否则 无法执行任何操作。有些事情是很好的做法,但除了编译器和规范之外,不要让任何人或任何东西说服你 以某种方式做某事。在这种情况下,n -= 1n = n - 1完全相同。因此,如果您不希望将-放在=之前,则不要。请改用n = n - 1

答案 7 :(得分:1)

-=是一名运营商。 此运算符等于减法。

num -= 1表示num = num - 1

它用于从右侧以给定值减去自身。

答案 8 :(得分:1)

-=是一个运算符,您编写的内容将生成num = num - 1