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
  • asp之家 网络编程 m.aspxhome.com