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小鎮”,發現更多幹貨知識!


分享到:


相關文章: