python中为什么没有自增或者自减
生活随笔
收集整理的這篇文章主要介紹了
python中为什么没有自增或者自减
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
??在c語(yǔ)言和c++中我們經(jīng)常會(huì)用到自增或者自減的語(yǔ)句,但對(duì)于python中如果運(yùn)用這種格式便會(huì)報(bào)錯(cuò)…why?
一、預(yù)備知識(shí)
小整數(shù)池
??python中為了提高儲(chǔ)存效率,對(duì)于int類型的整型變量的儲(chǔ)存,有一個(gè)專門的小整數(shù)池,它會(huì)存放-5到256的整形數(shù)值,并對(duì)應(yīng)相應(yīng)的地址。當(dāng)我們調(diào)用這個(gè)區(qū)間內(nèi)的整型數(shù)值時(shí),系統(tǒng)會(huì)從小整數(shù)池中將需要的數(shù)字拿出。
二、正文
- 對(duì)于c語(yǔ)言,當(dāng)我們定義一個(gè)變量并對(duì)其賦值的時(shí)候,它會(huì)先分配一個(gè)內(nèi)存地址,然后將我們賦予的值儲(chǔ)存到該地址當(dāng)中。
- 但對(duì)于python它是從整數(shù)池中取得該對(duì)象。
- 因此當(dāng)我們使用自增或者自減(i++或i–)的時(shí)候,它相當(dāng)于對(duì)對(duì)象本身進(jìn)行運(yùn)算,但python中規(guī)定,數(shù)值對(duì)象是不能夠改變的。
例:1:
aa = 4 print(id(aa)) bb = 4 print(id(bb)) cc = -5 print(id(cc)) dd = -5 print(id(dd))運(yùn)行結(jié)果:
140709747410688 140709747410688 140709747410400 140709747410400例2:
aa = 4 aa++ print(aa)運(yùn)行結(jié)果:
該程序會(huì)自動(dòng)報(bào)錯(cuò)例3:
aa = 4 aa+=1 print(aa)運(yùn)行結(jié)果:
5??aa+=1,這個(gè)語(yǔ)句相當(dāng)于aa = aa + 1,它與自增不同,相當(dāng)于先執(zhí)行等號(hào)右邊的aa + 1,然后重新生成了一個(gè)變量aa,并等號(hào)右邊的值賦給新生成的aa變量。
總結(jié)
以上是生活随笔為你收集整理的python中为什么没有自增或者自减的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 空气炸锅吸油纸能包肉类冷冻吗?
- 下一篇: 60小建中汤里面的姜用新鲜的生姜的话放多