如果让大家用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
总结:在Python中,表示自增1的是“i+=1”,而不是“++i”,但是“++i”并没有语法上的错误,只是与我们在其它编程语言中的含义不一样而已。
关注微信公众号“Python小镇”,发现更多干货知识!