欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python如何通過地址獲取變量

 更新時(shí)間:2022年05月16日 10:17:00   作者:qq_2579440213  
這篇文章主要介紹了Python如何通過地址獲取變量,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

通過地址獲取變量

類似于C/C++中令一個(gè)指針指向一個(gè)變量的地址,通過解引用可以得到變量的值。

利用ctypes模塊在Python中實(shí)現(xiàn)類似的功能:

import ctypes?
value='hello world' #定義一個(gè)字符串變量
address=id(value) #獲取value的地址,賦給address
get_value=ctypes.cast(address, ctypes.py_object).value #讀取地址中的變量
print(get_value)

得到輸出:

hello world

python的變量是什么?

變量皆指針的簡(jiǎn)單理解

一句話:

萬物皆對(duì)象,變量皆指針

這里簡(jiǎn)單介紹一下指針是什么:

指針起源自c語言,在c語言中,每一塊內(nèi)存(或者是每一段)都存在著一個(gè)單獨(dú)的變量用于標(biāo)識(shí)這一坨內(nèi)存,我們可以通過申請(qǐng)一個(gè)這樣的變量去指向一塊內(nèi)存,自然也可以改變一塊內(nèi)存所屬的這個(gè)變量,這個(gè)變量又叫地址也叫指針。

在c語言中,申請(qǐng)變量a

需要標(biāo)識(shí)變量的類型,因此我們?cè)谧鐾赀@個(gè)申請(qǐng)操作之后,相當(dāng)于同時(shí)申請(qǐng)了一個(gè)int(整數(shù))大小的內(nèi)存和一個(gè)這塊內(nèi)存的地址(&a)

*****而在python中申請(qǐng)變量并不需要單獨(dú)表明申請(qǐng)變量的類型而是直接賦值就行了。

這就是python所獨(dú)有的消除指針概念的方法——直接把變量全換成指針

這就有點(diǎn)像打不過就加入:

因此在python中通過變量申請(qǐng)內(nèi)存空間,本質(zhì)上是申請(qǐng)了一個(gè)地址,這個(gè)地址告訴電腦從那一大塊的內(nèi)存哪兒開始存東西

所以大家很容易發(fā)現(xiàn)一個(gè)有趣的現(xiàn)象,python常見的就是三種類型的變量,而他們的大小上限幾乎就是一樣大的:)

因?yàn)橄鄬?duì)于c語言來說,申請(qǐng)變量本身就限制了變量的最大大小(有叫做內(nèi)存管理),而python給你開了個(gè)門(申請(qǐng)了個(gè)開頭的地址)你想往里塞多少都行(理論上)

但是其實(shí)也是有上限的(為了放置一個(gè)死循環(huán)在一個(gè)變量里就把你整塊內(nèi)存條炸掉)

我們可以通過sys模塊的maxsize函數(shù)來看看支持的最大整數(shù)值:

 

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • pycharm中創(chuàng)建sql文件及模板的過程

    pycharm中創(chuàng)建sql文件及模板的過程

    很多小伙伴剛開始使用pycharm時(shí)發(fā)現(xiàn)以前的老員工在使用pycharm創(chuàng)建sql文件時(shí)會(huì)自帶文件頭模板,例如時(shí)間、作者、版本、郵件等信息,這是怎么做到的呢,一起來看一下吧
    2022-07-07
  • 教你python制作自己的模塊的基本步驟

    教你python制作自己的模塊的基本步驟

    這篇文章主要介紹了python如何制作自己的模塊,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • 解析ROC曲線繪制(python+sklearn+多分類)

    解析ROC曲線繪制(python+sklearn+多分類)

    這篇文章主要介紹了解析ROC曲線繪制(python+sklearn+多分類),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • python列表list保留順序去重的實(shí)例

    python列表list保留順序去重的實(shí)例

    今天小編就為大家分享一篇python列表list保留順序去重的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Django之模型層多表操作的實(shí)現(xiàn)

    Django之模型層多表操作的實(shí)現(xiàn)

    這篇文章主要介紹了Django之模型層多表操作的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • 用Python自動(dòng)清理系統(tǒng)垃圾的實(shí)現(xiàn)

    用Python自動(dòng)清理系統(tǒng)垃圾的實(shí)現(xiàn)

    這篇文章主要介紹了用Python自動(dòng)清理系統(tǒng)垃圾的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python?numpy中np.random.seed()的詳細(xì)用法實(shí)例

    Python?numpy中np.random.seed()的詳細(xì)用法實(shí)例

    在學(xué)習(xí)人工智能時(shí),大量的使用了np.random.seed(),利用隨機(jī)數(shù)種子,使得每次生成的隨機(jī)數(shù)相同,下面這篇文章主要給大家介紹了關(guān)于Python?numpy中np.random.seed()的詳細(xì)用法,需要的朋友可以參考下
    2022-08-08
  • python基于Pandas讀寫MySQL數(shù)據(jù)庫

    python基于Pandas讀寫MySQL數(shù)據(jù)庫

    這篇文章主要介紹了python基于Pandas讀寫MySQL數(shù)據(jù)庫,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • Python中pandas的dataframe過濾數(shù)據(jù)方法

    Python中pandas的dataframe過濾數(shù)據(jù)方法

    這篇文章主要介紹了Python中pandas的dataframe過濾數(shù)據(jù)方法,Pandas是另外一個(gè)用于處理高級(jí)數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析的Python庫,Pandas是基于Numpy構(gòu)建的一種工具,需要的朋友可以參考下
    2023-07-07
  • Python教程自己實(shí)現(xiàn)軟件加密功能

    Python教程自己實(shí)現(xiàn)軟件加密功能

    網(wǎng)上的加密軟件不太安全,但對(duì)于日常學(xué)習(xí)而言,我們可以借助異或操作,實(shí)現(xiàn)一個(gè)簡(jiǎn)單的文件加密程序,從而強(qiáng)化自身的編程能力
    2021-09-09

最新評(píng)論