Python通过global实现多文件共享全局参数,方法
Python通过global实现多文件共享全局参数
global
关键字,全局变量
基础用法
这种用法,不能在其他的py文件中使用,
x = 6
def func():global x #定义外部的xx = 10
func()
print (x)
#输出10
共享参数
- 新建
glo.py
文件(全局变量文件)
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
glo1.py
import glo
import glo2
glo._init()
glo.set_value('cho','game')
glo2.test() # 输出game
glo2.py
import glo
def test():print(glo.get_value('cho'))
运行glo1.py
,输出game
共享方法
-
glo.py
不变 -
glo1.py
import glo
import glo2
glo._init()test = glo2.Test(1)
print('isLosgin:',glo.get_value('isLosgin'))
print(glo.get_value('isLosgin')())
glo2.py
import glo
class Test:id = 0def __init__(self,id):self.id = idglo.set_value('isLosgin',self.isLosgin)def isLosgin(self):print('id',self.id)return self.id == 1
运行glo1.py
输出
isLosgin: <bound method Test.isLosgin of <glo2.Test object at 0x01C551D8>>
id 1
True