python跨文件使用全局变量的实现
作者:fly 100% 时间:2023-11-27 00:16:40
Python 定义了全局变量的特性,使用global 关键字修饰
global key_word
但是他的一大缺陷就是只能本module 中也就是本文件中使用,跳出这个module就不行。
try 1:
使用一个更宏观的思路,全局变量就用全局加载的模块解决,很遗憾也是不行,
file_1:
global a
a = "test"
file 2:
import file_1
print(a)
报错a没有定义
try 2:
file_1:
global a
a = "test"
file 2:
import file_1
print(file_1.a)
file_1.a = "aaa"
print(file_1.a)
这样可以,但是如果再有一个module 想用呢?
try 2:
file_1:
global a
a = "test"
file 2:
import file_1
print(file_1.a)
file_1.a = "aaa"
print(file_1.a)
file 2:
import file_1
import file_2
print(file_1.a)
file_1.a = "aaa"
print(file_1.a)
这样就会报错,因为import 加载就会执行一遍子module ,两个module y引用关系死锁了。
try 3:
最终使用公共数据结构方式解决
file_1:
def init():
global a
a = {}
def set(arg,value):
a[arg] = value
def get(arg)
return a[arg]
file 2:
import file_1
print(file_1.a)
file_1.set("test",(test_value))
file 2:
import file_1
import file_2
file_1.init()
print(file_1.get("test"))
思路就是使用一个公共的字典的数据结构,在主module 中初始化,其他module都应用此module,但是不重新初始化字典。
来源:https://blog.csdn.net/weiwei_xiaoyu/article/details/109611244
标签:python,跨文件,全局变量
0
投稿
猜你喜欢
python应用Axes3D绘图(批量梯度下降算法)
2023-04-19 11:41:45
python使用递归解决全排列数字示例
2022-02-22 04:14:49
Python安装Graphviz 超详细图文教程
2023-02-27 16:11:18
Python实现压缩与解压gzip大文件的方法
2021-10-13 19:39:41
MySQL存储过程savepoint rollback to
2008-12-03 16:02:00
Vue中子组件调用父组件的3种方法实例
2024-05-13 09:08:18
apache和nginx下vue页面刷新404的解决方案
2024-04-26 17:37:16
python OpenCV的imread不能读取中文路径问题及解决
2022-10-03 07:41:39
Python数字图像处理基础直方图详解
2021-02-12 08:21:55
scrapy-redis源码分析之发送POST请求详解
2021-05-19 05:24:03
Pandas读取行列数据最全方法
2022-06-23 09:34:22
gridview生成时如何去掉style属性中的border-collapse
2024-04-18 09:36:56
Go 自定义error错误的处理方法
2024-02-16 09:03:45
asp如何在本地机器上创建缓存?
2010-06-18 19:27:00
Python爬取腾讯疫情实时数据并存储到mysql数据库的示例代码
2024-01-23 08:52:28
VSCode远程SSH免密登录配置实现
2024-01-04 19:17:07
MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法
2024-01-25 04:39:33
Python读取JSON数据操作实例解析
2021-08-11 18:27:34
js中关于Blob对象的介绍与使用
2024-04-18 09:49:00
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
2024-04-28 09:48:51