如果讓大家用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小鎮”,發現更多幹貨知識!