python全局变量 | 跨文件模块使用的一种实现方法

使用一个模块来专门管理全局变量,其他模块再通过导入该模块来间接对全局变量进行操作。

为了避免造成全局变量的赋值混乱,对于每一个全局变量,可以有多个模块读取该全局变量,但尽量只有一个模块用来对其进行赋值操作(根据要实现的代码的具体情况而定),且要注意读和写的顺序关系,也要注意读和读之间的顺序关系,避免出现错误。

示例如下:

#文件名为 c.py,用来管理全局变量

def init_val():
	global dict_val
	dict_val = {'a' : None, 'b' : False, 'c' : None}
	
def set_value(key, value):
	# global dict_val
	dict_val[key] = value

def get_value(key):
	# global dict_val
	return dict_val[key]

#文件名为 b.py,用来对全局变量进行赋值

import c

def set():
	c.set_value('a', 23)
	

#主程序 a.py
(注意顺序,先初始化全局变量,再进行写和读的操作。)

import c
import b

c.init_val()

b.set()

a_value = c.get_value('a')
print(a_value)

运行a.py,结果如下。

23
[Finished in 0.5s]
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值