接觸過其他語言的同學可能都知道算數運算子裡面有個自增運算子++, 在寫迴圈的時候非常常用, 但是Python裡面可能會不同,需要引起大家注意。
請看以下Python程式碼
>>> num = 1 >>> ++num 1 >>> num 1
Python居然不認識++運算子。
同理Python也不認識自減運算子--
>>> num = 1 >>> --num 1 >>> num 1
各位同學要注意啦!
如果大家需要自增運算, 只能老老實實的用變數賦值num = num + 1 這種方式了。
python 不使用 ++ 的哲學邏輯:編譯解析上的簡潔與語言本身的簡潔
>>> b = 1 >>> a = 1 >>> id(a) 372510 >>> id(b) 372510 >>> a is b True
可以看出, Python 中,變數是以內容為基準而不是像 c 中以變數名為基準,所以只要你的數字內容是5,不管你起什麼名字,這個變數的 ID 是相同的,同時也就說明了 python 中一個變數可以以多個名稱訪問
這樣的設計邏輯決定了 python 中數字型別的值是不可變的,因為如果如上例,a 和 b 都是 5,當你改變了 a 時,b 也會跟著變,這當然不是我們希望的。