python跨文件使用全局变量的实现


Posted in Python onNovember 17, 2020

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跨文件全局变量内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
tornado捕获和处理404错误的方法
Feb 26 Python
Python模块结构与布局操作方法实例分析
Jul 24 Python
numpy 计算两个数组重复程度的方法
Nov 07 Python
python利用跳板机ssh远程连接redis的方法
Feb 19 Python
django模板加载静态文件的方法步骤
Mar 01 Python
Python异常处理例题整理
Jul 07 Python
PyCharm更改字体和界面样式的方法步骤
Sep 27 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
May 12 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
Jun 18 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
Jul 14 Python
pytorch显存一直变大的解决方案
Apr 08 Python
Pygame Draw绘图函数的具体使用
Nov 17 Python
Python中logging日志的四个等级和使用
Nov 17 #Python
Python爬虫破解登陆哔哩哔哩的方法
Nov 17 #Python
appium+python自动化配置(adk、jdk、node.js)
Nov 17 #Python
python调用百度API实现人脸识别
Nov 17 #Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
Nov 17 #Python
详解Pytorch显存动态分配规律探索
Nov 17 #Python
Python调用ffmpeg开源视频处理库,批量处理视频
Nov 16 #Python
You might like
laravel容器延迟加载以及auth扩展详解
2015/03/02 PHP
PHP+MySQL之Insert Into数据插入用法分析
2015/09/27 PHP
JavaScript与Div对层定位和移动获得坐标的实现代码
2010/09/08 Javascript
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
JS分割字符串并放入数组的函数
2011/07/04 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
Javascript实现关联数据(Linked Data)查询及注意细节
2013/02/22 Javascript
javascript中怎么做对象的类型判断
2013/11/11 Javascript
JavaScript加入收藏夹功能(兼容IE、firefox、chrome)
2014/05/05 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
简单总结JavaScript中的String字符串类型
2016/05/26 Javascript
layui弹出层效果实现代码
2017/05/19 Javascript
Angular中的$watch、$watchGroup、$watchCollection
2017/06/25 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
2017/08/14 Javascript
用vue构建多页面应用的示例代码
2017/09/20 Javascript
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
2018/06/07 Javascript
详解使用create-react-app添加css modules、sasss和antd
2018/07/31 Javascript
vue的全局变量和全局拦截请求器的示例代码
2018/09/13 Javascript
Python正则表达式分组概念与用法详解
2017/06/24 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
2018/02/07 Python
Python实现删除排序数组中重复项的两种方法示例
2019/01/31 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
用Python将Excel数据导入到SQL Server的例子
2019/08/24 Python
Python datetime包函数简单介绍
2019/08/28 Python
Python简单实现区域生长方式
2020/01/16 Python
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
2020/04/07 Python
使用Python将语音转换为文本的方法
2020/08/10 Python
Cotton On南非:澳洲时尚平价品牌
2018/06/28 全球购物
职高毕业生自我鉴定
2013/10/21 职场文书
医学生个人求职信范文
2014/02/07 职场文书
教师党的群众路线教育实践活动个人整改措施
2014/11/04 职场文书
学习心理学的体会
2014/11/07 职场文书
庆六一开幕词
2015/01/29 职场文书
地雷战观后感
2015/06/09 职场文书
2016年暑假家长对孩子评语
2015/12/01 职场文书
react如何快速设置文件路径别名
2021/04/28 Javascript