1. 程式人生 > >python 3 實現定義跨模組的全域性變數和使用

python 3 實現定義跨模組的全域性變數和使用

python3 定義全域性變數的方法有哪些?

  1. 使用global關鍵字可以定義一個變數為全域性變數
  2. 定義一個“全域性變數管理模組”

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