python的賦值機(jī)制

python的一切是對象

不只是變量是對象,python的一切都是對象

>>> print(300)
300

這個(gè)代碼會做三件事情

1,生成一個(gè)int對象

2,把300的值賦給int對象

3,在console里面打印300

可以從如下代碼里面看出300為int的實(shí)例

>>> type(300)
<class 'int'>

python的賦值是傳遞引用

python的變量是一個(gè)符號,是實(shí)例的引用

>>> n = 300

這個(gè)語句會創(chuàng)造一個(gè)300的int實(shí)例,并且讓變量n指向到這個(gè)實(shí)例

1560501698235.png

使用如下代碼來驗(yàn)證想法

>>> id(300)
140261438010384
>>> n=300
>>> id(n)
140261438010384
>>> type(n)
<class 'int'>
>>> print(n)
300

可以看到 對象300的地址 和 變量n的地址是一樣的

注釋:id() 函數(shù)用于獲取對象的內(nèi)存地址。

python多變量指向同一個(gè)對象

如下代碼

>>> m=n
>>> id(n)
140261438010384
>>> id(m)
140261438010384
1560502218220.png

如果重新給m賦值,那么m會把自己的指針指向新實(shí)例

>>> m=400
>>> id(m)
140261438010352
>>> id(n)
140261438010384
1560502329594.png

如果n再重新賦值,那么會沒有變量指向?qū)嵗?00

>>> n='foo'
>>> id(n)
140261438037944
>>> id(m)
140261438010352
1560502424596.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學(xué)習(xí)記錄文檔,今天18年5月份再次想寫文章,發(fā)現(xiàn)簡書還為我保存起的...
    Jenaral閱讀 3,142評論 2 9
  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡介】: Python 是一個(gè)...
    _小老虎_閱讀 6,326評論 0 10
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,641評論 1 32
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,324評論 0 17
  • 幾天不看大盤,都跌成這熊樣了……最近一篇關(guān)于解盤的文章還說“短線或有入場機(jī)會”呢……還好沒毛病,按當(dāng)時(shí)的形勢來說,...
    忘言266閱讀 267評論 0 0

友情鏈接更多精彩內(nèi)容