Python與其他語言的區別

來源:互聯網
上載者:User

標籤:其他   範圍   分享   不可   pytho   http   編譯   應該   ++   

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與其他語言的區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.