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 相关文章推荐
wxpython 最小化到托盘与欢迎图片的实现方法
Jun 09 Python
python实现跨文件全局变量的方法
Jul 07 Python
python xml.etree.ElementTree遍历xml所有节点实例详解
Dec 04 Python
Python Queue模块详细介绍及实例
Dec 27 Python
基于hashlib模块--加密(详解)
Jun 21 Python
CentOS下使用yum安装python-pip失败的完美解决方法
Aug 16 Python
python里使用正则的findall函数的实例详解
Oct 19 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
Mar 31 Python
对Python中Iterator和Iterable的区别详解
Oct 18 Python
Django REST framework 分页的实现代码
Jun 19 Python
Python实现王者荣耀自动刷金币的完整步骤
Jan 22 Python
Python re.sub 反向引用的实现
Jul 07 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
javascript实现的基于金山词霸网络翻译的代码
2010/01/15 Javascript
JavaScript中访问节点对象的方法有哪些如何使用
2013/09/24 Javascript
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
js实现点击后将文字或图片复制到剪贴板的方法
2014/08/04 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
2015/03/02 Javascript
纯javascript制作日历控件
2015/07/17 Javascript
简述Matlab中size()函数的用法
2016/03/20 Javascript
AngularJS 文件上传控件 ng-file-upload详解
2017/01/13 Javascript
AngularJs ng-change事件/指令的用法小结
2017/11/01 Javascript
ES6中let 和 const 的新特性
2018/09/03 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
2020/07/28 Javascript
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
[04:16]完美世界DOTA2联赛PWL S2 集锦第一期
2020/11/23 DOTA
Python高级应用实例对比:高效计算大文件中的最长行的长度
2014/06/08 Python
python中pygame模块用法实例
2014/10/09 Python
Python之批量创建文件的实例讲解
2018/05/10 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
python安装numpy和pandas的方法步骤
2019/05/27 Python
CentOS7下安装python3.6.8的教程详解
2020/01/03 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
Python3使用 GitLab API 进行批量合并分支
2020/10/15 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
Python3压缩和解压缩实现代码
2021/03/01 Python
欧缇丽美国官网:Caudalie美国
2016/12/31 全球购物
捷克厨房用品购物网站:Tescoma
2018/07/13 全球购物
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
飞利浦法国官网:Philips法国
2019/07/10 全球购物
招商专员岗位职责
2014/02/08 职场文书
大学生党员批评与自我批评
2014/09/28 职场文书
2014年医务科工作总结
2014/12/18 职场文书
雨中的树观后感
2015/06/03 职场文书
2015年七夕情人节感言
2015/08/03 职场文书
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python
宫崎骏十大动画电影,宫崎骏好看的动画电影排名
2022/03/22 日漫