variable不是對(duì)內(nèi)存地址ramaddress的引用,而是對(duì)data的引用>variable被重新assign新値時(shí),Python新分配此data存儲(chǔ)空間,而variable指向此新的地址例如:啟動(dòng)Python時(shí),其namespace如下:>>>globals(){'__name__':'__main__','__" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python 變量 Variable 動(dòng)態(tài)綁定

系統(tǒng) 1969 0

為何 Python 變量沒有 Data Type 概念 ? 可以與任意 Data Type 綁定?

Python 變量 Variable 與其他程式語言不同之處在於:

> variable 不是對(duì)內(nèi)存地址 ram address 的引用,而是對(duì) data 的引用

> variable 被重新 assign 新値時(shí),Python 新分配此data 存儲(chǔ)空間,而 variable 指向此新的地址

例如: 啟動(dòng) Python時(shí),其 name space 如下:

>>> globals()
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__':
ass '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {
}, '__builtins__': }

?

當(dāng)將 5 給 X 時(shí),其先分配 5 這存儲(chǔ)空間,此空間的位置地址為 8791319470864,而 X 存儲(chǔ)此地址,指向 5 這物件:


>>> X = 5
>>> id(X)
8791319470864

所以 name space 存在一個(gè) variable 其 value 為 5


>>> globals()
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__':
ass '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {
}, '__builtins__': , 'X': 5}

?

當(dāng)重新指定 X 為字串 'Hello' 時(shí),Python 會(huì)分配存儲(chǔ)空間給 'Hello',其空間所在的地址為 35659880,而 X 存儲(chǔ)此地址,指向 'Hello':


>>> X = 'Hello'
>>> id(X)
35659880

再次查看全域 Global 命名空間,發(fā)現(xiàn) X 指向的値為最新的 'Hello',之前的値 5 已不在被指引了。但,物件 5 仍存儲(chǔ)在 RAM 中。


>>> globals()
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__':
ass '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {
}, '__builtins__': , 'X': 'Hello'}
>>> id(5)
8791319470864

?

結(jié)論:

Python 的變量 variable 是動(dòng)態(tài)綁定,即在 Run Time 執(zhí)行中才動(dòng)態(tài)綁定,這與 C / C++ / Java 不同。後者在編譯 compiling 即綁定,為靜態(tài)綁定,綁定後不能更改資料型態(tài) data type。

?

?

?

/end


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 文水县| 中宁县| 南丰县| 辰溪县| 阿拉尔市| 富顺县| 贞丰县| 肃南| 阿坝县| 兴义市| 巴彦县| 阿巴嘎旗| 佳木斯市| 唐河县| 连江县| 维西| 武冈市| 四子王旗| 潼关县| 句容市| 合江县| 哈密市| 苗栗市| 涟水县| 潜江市| 子洲县| 彩票| 东阳市| 桦甸市| 绥芬河市| 安阳市| 莱西市| 河南省| 东明县| 土默特右旗| 平罗县| 蒲江县| 邳州市| 临泽县| 红安县| 旅游|