如何在Python中跨模塊共享全局變量?含代碼

如何在Python中跨模塊共享全局變量?

Python作為一種高級編程語言,提供了很便捷的全局變量管理方式。愛掏網 - it200.comPython中的全局變量即全局作用域變量,可以在函數內部和模塊內部進行定義、引用和修改。愛掏網 - it200.com但是當需要在跨模塊使用全局變量時,就會遇到許多問題,如何在Python中解決這些問題呢?

Python中定義全局變量分為兩種方式:

方式一:在模塊中定義全局變量

定義全局變量的方式與其他變量一樣,在需要定義變量的行上方寫上變量名即可。愛掏網 - it200.com例如,我們在一個名為”global_var.py”的模塊中定義全局變量:

#global_var.py
count=10

方式二:在函數內定義全局變量

Python中,可以利用global關鍵字在函數內部定義全局變量。愛掏網 - it200.com如下所示:

#global_var.py
def func():
    global count
    count=10

2.在同一個模塊中共享全局變量

在同一個模塊中共享全局變量是很容易的。愛掏網 - it200.com我們直接在需要使用全局變量的函數中進行引用即可。愛掏網 - it200.com以下是一個示例代碼:

#global_var.py
count=10

def add():
    global count
    count+=1

def print_count():
    print("count: "+str(count))

if __name__=='__main__':
    add()
    print_count()

輸出結果為:

count: 11

3.在不同模塊中共享全局變量

在不同模塊中共享全局變量需要先根據需要共享的全局變量定義文件,然后在需要引用的模塊中使用import語句進行引入。愛掏網 - it200.com

3.1 全局變量定義模塊

我們需要單獨定義一個全局變量的模塊,名為global_var.py愛掏網 - it200.com在該模塊中定義一個全局變量count

#global_var.py
count=10

3.2 變量引用模塊

我們在引用global_var.py模塊中的全局變量時,需要使用import語句進行引入。愛掏網 - it200.com如下所示,引入global_var.py模塊中定義的全局變量后,我們可以進行引用和修改。愛掏網 - it200.com

#main.py
import global_var

def add():
    global_var.count+=1

def print_count():
    print("count: "+str(global_var.count))

if __name__=='__main__':
    add()
    print_count()

輸出結果為:

count: 11

3.3 加載模塊時刻

上面的示例代碼中,變量引用模塊在程序運行時加載global_var.py模塊。愛掏網 - it200.com有時我們想在不同的模塊中共享全局變量,但在程序開始運行時就加載全局變量定義模塊。愛掏網 - it200.com實現該需求的代碼示例如下:

#global_var.py
count=10

#second_global_var.py
import global_var

def add():
    global_var.count+=1

def print_count():
    print("count: "+str(global_var.count))

#main.py
import global_var
import second_global_var

if __name__=='__main__':
    second_global_var.add()
    second_global_var.print_count()

輸出結果為:

count: 11

4.注意事項

在Python中,跨模塊共享全局變量要注意的一些事項:

4.1 模塊重載問題

當我們引入全局變量定義模塊時,Python會將該模塊加載至內存中。愛掏網 - it200.com如果我們對該模塊進行修改,Python并不會自動更新模塊狀態。愛掏網 - it200.com因此,需要使用reload()函數來重新加載模塊。愛掏網 - it200.com例如,我們在global_var.py模塊中修改全局變量count的值:

#global_var.py
count=10

def set_count(new_count):
    global count
    count=new_count

我們在main.py模塊中引入global_var.py中的全局變量,并修改其值為20。愛掏網 - it200.com然后再次引入global_var.py模塊并打印全局變量的值:

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 波多野结衣1048系列电影| 91精品国产高清| 精品日韩二区三区精品视频| 黄床大片30分钟免费看 | 福利姬在线精品观看| 很黄很污的视频在线观看| 四虎成人精品在永久在线| 亚洲国产一成人久久精品| 91久久大香伊蕉在人线| 精品成人一区二区三区免费视频| 日韩色视频一区二区三区亚洲| 国产极品视觉盛宴| 亚洲理论电影在线观看| 97精品国产97久久久久久免费| 武则天一边上朝一边做h| 国产香蕉视频在线播放| 亚洲国产美女福利直播秀一区二区| 中文字幕av高清片| 精品人妻一区二区三区四区| 女人18毛片a级毛片免费| 人人爽人人爽人人片av免费| 99久久99久久精品国产片| 欧美黑人bbbbbbbbb| 国产精品亚洲аv无码播放| 九位美女尿撒尿11分钟| 在线视频你懂的国产福利| 极品少妇伦理一区二区| 国产婷婷综合在线视频| 久久久亚洲精品无码| 黄网站欧美内射| 我把护士日出水了| 偷窥无罪之诱人犯罪| 91香蕉视频污污| 最近电影在线中文字幕| 国产精品第八页| 亚洲精品视频免费看| 两个小姨子在线观看| 特黄特黄aaaa级毛片免费看| 国产精品人成在线观看| 久久在精品线影院精品国产| 精品视频麻豆入口|