亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python動態(tài)加載變量示例分享

 更新時間:2014年02月17日 14:54:54   作者:  
這篇文章主要介紹了python動態(tài)加載變量示例,需要的朋友可以參考下

眾所周知,程序在啟動后,各個程序文件都會被加載到內(nèi)存中,這樣如果程序文本再次變化,對當前程序的運行沒有影響,這對程序是一種保護。

但是,對于像python這樣解釋執(zhí)行的語言,我們有時候會用到“from 模塊 import 變量名”這樣的形式,如果這個變量直接被定義在文件當中,那么這些變量在程序開始時就會被定義、賦值,運行過程中值不變。如果打算在運行過程中對這個模塊進行重寫,那么更改后的變量值是無法被使用的。

對于這個問題,可以換一種思路,將這個模塊中的變量定義在函數(shù)里,而函數(shù)是在程序運行的時候動態(tài)執(zhí)行的,這樣就能夠獲取到變量的最新值。下面是例子:

首先,不使用函數(shù)的情況: 

復(fù)制代碼 代碼如下:

#model1.py
p_hello = 'hello world!'

#test1.py
from model1 import p_hello
file = open('model1.py', 'w')
file.write("p_hello = '%s!'"%('hello you'))
file.close()
print p_hello

這樣,執(zhí)行test1.py的時候,出現(xiàn)的結(jié)果仍然是'hello world',而非‘hello you',說明變量已經(jīng)加載到內(nèi)存中,盡管該模塊的文件在硬盤上已經(jīng)被重寫。

接下來,使用函數(shù)的情況:

復(fù)制代碼 代碼如下:

#model1.py
def rule():
    p_hello = 'hello world!'
    return locals()

#test1.py
from model1 import rule
file = open('model1.py', 'w')
file.write('def rule():\n')
file.write("    p_hello = '%s!'\n"%('hello you'))
file.write("    return locals()\n")
file.close()
p_hello = rule()['p_hello']
print p_hello

這樣,print出來的結(jié)果就是hello you 了,因為在運行的時候,先執(zhí)行了一遍這個函數(shù),再通過函數(shù)獲取了這個變量,這樣就會獲得新值。

相關(guān)文章

  • Python實現(xiàn)PS濾鏡中馬賽克效果示例

    Python實現(xiàn)PS濾鏡中馬賽克效果示例

    這篇文章主要介紹了Python實現(xiàn)PS濾鏡中馬賽克效果,涉及Python基于skimage庫的圖形馬賽克效果相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2018-01-01
  • 分析Python中解析構(gòu)建數(shù)據(jù)知識

    分析Python中解析構(gòu)建數(shù)據(jù)知識

    本篇文章給大家講述一下Python中解析構(gòu)建數(shù)據(jù)知識的相關(guān)內(nèi)容,有需要的朋友跟著學(xué)習(xí)下。
    2018-01-01
  • 加速Python代碼執(zhí)行利器使用實例探究

    加速Python代碼執(zhí)行利器使用實例探究

    這篇文章主要為大家介紹了加速Python代碼執(zhí)行的利器使用實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • 封裝Detours用于Python中x64函數(shù)hook詳解

    封裝Detours用于Python中x64函數(shù)hook詳解

    Detours是微軟發(fā)布的一個API hook框架,同時支持x86和x64,看文檔說也支持ARM和ARM64的Windows,這篇文章主要介紹了封裝Detours用于Python中x64函數(shù)hook,需要的朋友可以參考下
    2023-12-12
  • Python正則表達式中的'r'用法總結(jié)

    Python正則表達式中的'r'用法總結(jié)

    正則表達式即使用一個字符串來描述、匹配一系列某個語法規(guī)則的字符串,python中r作用是除去''里面轉(zhuǎn)意字符,在pyhton自動化中比較常用的,下面這篇文章主要給大家介紹了關(guān)于Python正則表達式中的'r'用法總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • 新一代Python包管理工具

    新一代Python包管理工具

    這篇文章主要介紹了新一代Python包管理工具,Python包管理工具,一般就會想到想到pip、conda等經(jīng)典工具,本篇文章要介紹的是一款新穎的Python包管理工具pdm,需要的小伙伴可以參考一下
    2022-02-02
  • python實現(xiàn)桌面托盤氣泡提示

    python實現(xiàn)桌面托盤氣泡提示

    這篇文章主要為大家詳細介紹了python實現(xiàn)桌面托盤氣泡提示,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Python中的map、reduce和filter淺析

    Python中的map、reduce和filter淺析

    這篇文章主要介紹了Python中的map、reduce和filter,用實例來理解這3個函數(shù),需要的朋友可以參考下
    2014-04-04
  • 淺談pyqt5在QMainWindow中布局的問題

    淺談pyqt5在QMainWindow中布局的問題

    今天小編就為大家分享一篇淺談pyqt5在QMainWindow中布局的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • pandas抽取行列數(shù)據(jù)的幾種方法

    pandas抽取行列數(shù)據(jù)的幾種方法

    這篇文章主要介紹了pandas抽取行列數(shù)據(jù)的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評論