python跨文件使用全局变量的实现
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,但是不重新初始化字典。
到此这篇关于python跨文件使用全局变量的实现的文章就介绍到这了,更多相关python跨文件全局变量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
这篇文章主要介绍了用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-03-03
Python中Numpy和Matplotlib的基本使用指南
numpy库处理的最基础数据类型是由同种元素构成的多维数组(ndarray),而matplotlib 是提供数据绘图功能的第三方库,其pyplot子库主要用于实现各种数据展示图形的绘制,这篇文章主要给大家介绍了关于Python中Numpy和Matplotlib的基本使用指南,需要的朋友可以参考下2021-11-11
基于tf.shape(tensor)和tensor.shape()的区别说明
这篇文章主要介绍了基于tf.shape(tensor)和tensor.shape()的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-06-06
Python中的魔法方法__repr__和__str__用法实例详解
这篇文章主要介绍了Python中的__repr__和__str__方法,它们分别用于提供对象的官方字符串表示和用户友好的字符串表示,通过重写这两个方法,可以自定义对象的打印输出,文中通过代码将用法介绍的非常详细,需要的朋友可以参考下2025-02-02
python如何使用python-docx调整Word文档样式
本文介绍了如何修改文字字体样式、对齐样式、行间距以及段前段后间距,并通过效果展示给出参考,适用于需要进行文档编辑的读者2024-09-09


最新评论