Python必懂知识点:“i+=1”和“++i”的区别

如果让大家用Python写一段代码求1+2+3+...+10的结果,我想肯定会有人写出如下的代码:

<code>

result

=

0

i

=

1

while

i <= 10:

result

=

result+i

++i

print(result)

/<code>

对Python有一定了解的人,会一眼看出上面代码中的第五行,也就是“++i”有问题,认为Python不支持这样的语法,而应该换成“i+=1”。

如果我们将上面的代码运行一下,会发现程序并没有报语法错误,反而是一直在运行,进入了一个死循环。

为什么会出现这种情况呢?

其实“++i”并没有语法上的错误,虽然在Python中,“++i”不能像其它一些编程语言那样表示自动加一,但是它也是具体含义的。

这里的“++i”其实就相当于是正1,因为i的初始值为1嘛,也就是说“++i”中的“+”号表示正数符号,同理,“--i”中的“-”号代表负号。

正负号的个数可以随意组合,最终的结果就是根据“正正得正、负负得正、正负得负”的规则,想必大家都知道,比如:

<code>a = ++1

print

(a) a = +++++1

print

(a) b = --1

print

(b) b = ---1

print

(b) c = +-1

print

(c) c = -+1

print

(c) /<code>

总结:在Python中,表示自增1的是“i+=1”,而不是“++i”,但是“++i”并没有语法上的错误,只是与我们在其它编程语言中的含义不一样而已。

关注微信公众号“Python小镇”,发现更多干货知识!


分享到:


相關文章: