0
点赞
收藏
分享

微信扫一扫

python跨py文件全局变量的使用

朱小落 2021-09-28 阅读 110
随笔Python

大部分场景需要相同的前置条件,为了避免代码冗余以及重复造轮子,可以把需要的东西定义为全局变量,在使用的时候调用即可。
python在同一个模块内变量是可以直接使用的,但是无法使用别的模块的变量。此时可以建一个专门的全局变量管理模块来实现跨文件(.py)的全局变量。
1.建一个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

2.建全局管理模块,config.py用来管理,配置所有需要使用的全局变量

from *** import glo
gol._init()  #先必须在主模块初始化(只在Main模块需要一次即可)
#定义跨模块全局变量
gol.set_value('name',tom)
gol.set_value('age',16)
.....

3.在你的py文件调用全局变量

from *** import gol,config #两个都需要导入,否则会找不到get_value函数
nameNew= gol.get_value('name')  #不带值,使用的是config内的默认值
ageNew = gol.get_value('age',18)  #也可以重新为其赋值
举报

相关推荐

0 条评论