為什么Python中沒有"a++"這種寫法
一開始學(xué)習(xí) Python 的時(shí)候習(xí)慣性的使用 C 中的 a++ 這種寫法,發(fā)現(xiàn)會(huì)報(bào) SyntaxError: invalid syntax 錯(cuò)誤,為什么 Python 沒有自增運(yùn)算符的這種寫法呢?
我們可以看一下 Python 下:
>>>a = 2 >>>b = 2 >>>id(a) #id() 函數(shù)用于獲取對(duì)象的內(nèi)存地址。 140732976575344 >>>id(b) 140732976575344 >>>
再來看看 C 語言中:
#include<stdio.h>
int main()
{
int a = 1;
int b = 1;
printf("%d\n",&a);
printf("%d\n",&b);
return 0;
}
輸出:
這里可以看出 Python 在變量的存儲(chǔ)上與 C 語言的不同,在 C 語言中,值的存儲(chǔ)以變量名來區(qū)分,一個(gè)變量具有單獨(dú)的地址空間;而 Python 中則不一樣,只要值是相同的,不管你的變量名是什么,它們的地址都是相同的,也就是說, Python 允許一個(gè)值被多個(gè)變量名稱綁定。
這里說明一下,在腳本式編程環(huán)境中是這樣,但是在交互式編程環(huán)境下,Python 為了優(yōu)化速度,使用了小整數(shù)對(duì)象池, 避免為整數(shù)頻繁申請(qǐng)和銷毀內(nèi)存空間,編譯器會(huì)有一個(gè)小整數(shù)池的概念,小整數(shù)的定義是 [-5, 256] 這些整數(shù)對(duì)象是提前建立好的,不會(huì)被垃圾回收,也就是說,變量在這個(gè)范圍內(nèi)是會(huì)按照前面所說的,共用內(nèi)存地址,超過這個(gè)值則使用單獨(dú)的內(nèi)存地址。 如:
>>>a=1000 >>>b=1000 >>>id(a);id(b) 266662366224 266617350384 >>>
總結(jié)
以上所述是小編給大家介紹的為什么Python中沒有"a++"這種寫法,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
python時(shí)間與Unix時(shí)間戳相互轉(zhuǎn)換方法詳解
這篇文章主要介紹了python時(shí)間與Unix時(shí)間戳相互轉(zhuǎn)換方法詳解,需要的朋友可以參考下2020-02-02
python和bash統(tǒng)計(jì)CPU利用率的方法
這篇文章主要介紹了python和bash統(tǒng)計(jì)CPU利用率的方法,涉及Python針對(duì)系統(tǒng)硬件信息的讀取技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
Python中json.load()與json.loads()方法有什么區(qū)別詳解
在讀取文件時(shí)解碼python的json格式,常用到j(luò)son.loads()與json.load(),下面這篇文章主要給大家介紹了關(guān)于Python中json.load()與json.loads()方法有什么區(qū)別的相關(guān)資料,需要的朋友可以參考下2022-08-08
教你利用python如何讀取txt中的數(shù)據(jù)
們使用python的時(shí)候經(jīng)常需要讀取txt文件中的內(nèi)容,下面這篇文章主要給大家介紹了關(guān)于利用python如何讀取txt中數(shù)據(jù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03
Python實(shí)現(xiàn)的簡(jiǎn)單發(fā)送郵件腳本分享
這篇文章主要介紹了Python實(shí)現(xiàn)的簡(jiǎn)單發(fā)送郵件腳本分享,本文使用smtplib模塊實(shí)現(xiàn)郵件的發(fā)送,需要的朋友可以參考下2014-11-11
Python pandas RFM模型應(yīng)用實(shí)例詳解
這篇文章主要介紹了Python pandas RFM模型應(yīng)用,結(jié)合實(shí)例形式詳細(xì)分析了pandas RFM模型的概念、原理、應(yīng)用及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-11-11

