python 3 實現定義跨模組的全域性變數和使用
阿新 • • 發佈:2019-01-02
python3 定義全域性變數的方法有哪些?
- 使用global關鍵字可以定義一個變數為全域性變數
- 定義一個“全域性變數管理模組”
global與全域性變數管理模組的使用環境
global的作用就是把區域性變數提升為全域性變數僅限於當前檔案 當有另一個py檔案再次需要使用這個全域性變數時global關鍵字就無法滿足了,所以就需要自定義一個全域性變數管理模組
借鑑global 關鍵字的思路,既然在一個檔案裡面可以生效的話,那麼我們就專門為全域性變數定義一個“全域性變數管理模組”就好了
操作:
全域性變數模組global_demo.py
# -*- coding: utf-8 -*-
def _init():#初始化
global _global_dict
_global_dict = {}
def set_value(key,value):
""" 定義一個全域性變數 """
_global_dict[key] = value
def get_value(key,defValue=None):
""" 獲得一個全域性變數,不存在則返回預設值 """
try:
return _global_dict[key]
except KeyError:
return defValue
設定全域性變數 write.py
import global_demo as gl
gl._init()
gl.set_value('name', 'cc')
gl.set_value('score', 90)
獲取全域性變數 read.py
# -*- coding: utf-8 -*-
import global_demo as gl
name = gl.get_value('name')
score = gl.get_value('score')
print("%s: %s" % (name, score))
主程式 main.py
import write
import read
這時檔案結構應該為
然後執行主程式檔案 python main.py,得出的結果是 cc: 90