最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

對于這個問題,可以換一種思路,將這個模塊中的變量定義在函數(shù)里,而函數(shù)是在程序運(yùn)行的時候動態(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 了,因?yàn)樵谶\(yùn)行的時候,先執(zhí)行了一遍這個函數(shù),再通過函數(shù)獲取了這個變量,這樣就會獲得新值。

相關(guān)文章

  • Python執(zhí)行系統(tǒng)命令的五種方式小結(jié)

    Python執(zhí)行系統(tǒng)命令的五種方式小結(jié)

    在日常開發(fā)中,有時需要在Python腳本中執(zhí)行系統(tǒng)命令,Python有五種方式來執(zhí)行系統(tǒng)命令(推薦使用第五種),本文為大家整理了這五種方法的具體使用,希望對大家有所幫助
    2024-01-01
  • MATLAB 如何求取離散點(diǎn)的曲率最大值

    MATLAB 如何求取離散點(diǎn)的曲率最大值

    這篇文章主要介紹了MATLAB 求取離散點(diǎn)的曲率最大值操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Python開發(fā)一個功能齊全的IM聊天工具(附實(shí)例代碼)

    Python開發(fā)一個功能齊全的IM聊天工具(附實(shí)例代碼)

    即時通訊(IM)工具現(xiàn)在已經(jīng)很常見了,從簡單的文本聊天到文件傳輸、音視頻通話,IM 工具功能豐富,那么,本文使用Python開發(fā)一個基礎(chǔ)的IM聊天工具,包括:客戶端和服務(wù)端架構(gòu)、實(shí)時消息發(fā)送與接收、多用戶聊天支持、一個簡單的圖形用戶界面(GUI)
    2024-12-12
  • Python基于lxml模塊解析html獲取頁面內(nèi)所有葉子節(jié)點(diǎn)xpath路徑功能示例

    Python基于lxml模塊解析html獲取頁面內(nèi)所有葉子節(jié)點(diǎn)xpath路徑功能示例

    這篇文章主要介紹了Python基于lxml模塊解析html獲取頁面內(nèi)所有葉子節(jié)點(diǎn)xpath路徑功能,結(jié)合實(shí)例形式較為詳細(xì)的分析了Python使用lxml模塊進(jìn)行xml節(jié)點(diǎn)數(shù)據(jù)解析的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-05-05
  • flask框架json數(shù)據(jù)的拿取和返回操作示例

    flask框架json數(shù)據(jù)的拿取和返回操作示例

    這篇文章主要介紹了flask框架json數(shù)據(jù)的拿取和返回操作,結(jié)合實(shí)例形式分析了flask框架針對json格式數(shù)據(jù)的解析、數(shù)據(jù)庫操作與輸出等相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11
  • python 把列表轉(zhuǎn)化為字符串的方法

    python 把列表轉(zhuǎn)化為字符串的方法

    今天小編就為大家分享一篇python 把列表轉(zhuǎn)化為字符串的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python實(shí)現(xiàn)的漢諾塔算法示例

    python實(shí)現(xiàn)的漢諾塔算法示例

    這篇文章主要介紹了python實(shí)現(xiàn)的漢諾塔算法,結(jié)合實(shí)例形式分析了漢諾塔算法的原理、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-10-10
  • Python嵌套函數(shù),作用域與偏函數(shù)用法實(shí)例分析

    Python嵌套函數(shù),作用域與偏函數(shù)用法實(shí)例分析

    這篇文章主要介紹了Python嵌套函數(shù),作用域與偏函數(shù)用法,結(jié)合實(shí)例形式分析了Python嵌套函數(shù),作用域與偏函數(shù)的功能、定義與相關(guān)使用方法,需要的朋友可以參考下
    2019-12-12
  • python簡介及下載安裝

    python簡介及下載安裝

    這篇文章介紹了python以及下載安裝的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Python OpenCV處理圖像之圖像直方圖和反向投影

    Python OpenCV處理圖像之圖像直方圖和反向投影

    這篇文章主要為大家詳細(xì)介紹了Python OpenCV處理圖像之圖像直方圖和反向投影,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07

最新評論

临夏市| 玉田县| 石城县| 潍坊市| 华坪县| 扶绥县| 正阳县| 时尚| 保定市| 和田市| 武功县| 铜梁县| 扶沟县| 白水县| 衡山县| 平泉县| 博乐市| 凤凰县| 辉南县| 福海县| 柳江县| 石柱| 重庆市| 柯坪县| 旬阳县| 长岛县| 河间市| 自贡市| 凤阳县| 军事| 得荣县| 石首市| 丰原市| 潞西市| 宁安市| 紫金县| 竹北市| 乌拉特前旗| 泗洪县| 延安市| 龙南县|