1. 程式人生 > >Python與其他語言的區別

Python與其他語言的區別

tro inf color 範圍 分享 ron 數字類型 不同的 差異

Python中沒有自增自減運算。

python 不使用 ++ 的哲學邏輯:編譯解析上的簡潔與語言本身的簡潔。

舉個例子來說python 與 c 語言概念上的一些差異:

技術分享圖片

python 中,變量是以內容為基準而不是像 c 中以變量名為基準,所以只要你的數字內容是5,不管你起什麽名字,這個變量的 ID 是相同的,同時也就說明了 python 中一個變量可以以多個名稱訪問。

這樣的設計邏輯決定了 python 中數字類型的值是不可變的,因為如果如上例,a 和 b 都是 5,當你改變了 a 時,b 也會跟著變,這當然不是我們希望的。

因此,正確的自增操作應該 a = a + 1 或者 a += 1,當此 a 自增後,通過 id() 觀察可知,id 值變化了,即 a 已經是新值的名稱。

技術分享圖片

上面的例子在腳本式編程環境中沒有問題。但是在交互式環境中,編譯器會有一個小整數池的概念,會把(-5,256)間的數預先創建好,而當a和b超過這個範圍的時候,兩個變量就會指向不同的對象了,因此地址也會不一樣,比如下例:

技術分享圖片

未完待續(邊學習邊總結).......

Python與其他語言的區別