一開始學習 python 的時候習慣性的使用 c 中的 a++ 這gincxd種寫法,發現會報 synt程式設計客棧axerror: invalid syntax 錯誤,為什麼 python 沒有自增運算子的這種寫法呢?
我們可以看一下 python 下:
>>>a = 2
>>>b = 2
>>>id(a) #id() 函式用於獲取物件的記憶體位址。
140732976575344
>>>id(b)
140732程式設計客棧976575344
>>>
再來看看 c 語言中:
#include
int main()
輸出:這裡可以看出 python 在變數的儲存上與 c 語言的不同,在 c 語言中,值的儲存以變數名來區分,乙個變數具有單獨的位址空間;而 python 中則不一樣,只要值是相同的,不管你的變數名是什麼,它們的位址都是相同的,也就是說, python 允許乙個值被多個變數名稱繫結。
這裡說明一下,在指令碼式程式設計環境中是這樣,但是在互動式程式設計環境下,python 為了優化速度,使用了小整數物件池, 避免為整數頻繁申請和銷毀記憶體空間,編譯器會有www.cppcns.com乙個小整數池的概念,小整數的定義是 [-5, 256] 這些整數物件是提前建立好的,不會被垃圾**,也就是說,變數在這個範圍內是會按照前面所說的,共用記憶體位址,超過這個值則使用單獨的記憶體位址。 如:
>>>a=1000
>>>b=1000
>>>id(a);id(b)
266662366224
266617350384
>>>
總結本文標題: 為什麼python中沒有"a++"這種寫法
本文位址:
C 中為什麼有delete 這種寫法?
以 vc 2008 舉例,如果執行以下 foo p new foo 10 intn int p 1 猜猜 n 的值是多少?是 10 編譯器在使用new分配記憶體的時候在返回的記憶體塊裡放了乙個 陣列的 size 而用 new 分配的時候則不會 在使用 delete 的時候,生成的 最後是用 p 去呼...
為什麼沒有掌聲
首先,我要說明,我是山東人,我是濟南人,所以以下的所有文字,並不是針對某一地域的人 為什麼首先要說明這個,如果你們想知道原因,請去163的體育論壇,看他們的對罵 2005.10.22 為什麼沒有掌聲?今天和哥們去了泉城廣場,沒有辦法,真的不知道應該去哪兒,可以去哪兒?兩個男人嘛 如果一男一女,可能娛...
為什麼沒有Rails Inc?
idc 開源軟體的市場將會在2011年達到60億美元上下的規模。毫無疑問,風險投資商很渴望加入這場輪盤賭。這也是讓我寫這篇文章的原因。顯然這不是因為風險投資商不願意注入資金。我已經和數家公司有過好幾次關於投巨資建立rails inc這樣的談話,但是,我就是不敢興趣。有 很多原因讓我現在對風險自己沒有...