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 相关文章推荐
Python中os.path用法分析
Jan 15 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
Apr 20 Python
python将视频转换为全字符视频
Apr 26 Python
Python 中pandas索引切片读取数据缺失数据处理问题
Oct 09 Python
使用python和pygame制作挡板弹球游戏
Dec 03 Python
关于pytorch处理类别不平衡的问题
Dec 31 Python
Selenium启动Chrome时配置选项详解
Mar 18 Python
Python HTMLTestRunner库安装过程解析
May 25 Python
python用什么编辑器进行项目开发
Jun 17 Python
Python实现七个基本算法的实例代码
Oct 08 Python
python爬取代理ip的示例
Dec 18 Python
解决python的空格和tab混淆而报错的问题
Feb 26 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
PHP写UltraEdit插件脚本实现方法
2011/12/26 PHP
php按单词截取字符串的方法
2015/04/07 PHP
yii权限控制的方法(三种方法)
2015/12/28 PHP
PHP面试常用算法(推荐)
2016/07/22 PHP
Discuz! 6.1_jQuery兼容问题
2008/09/23 Javascript
传智播客学习之java 反射
2009/11/22 Javascript
JavaScript中valueOf函数与toString方法深入理解
2012/12/02 Javascript
js实现幻灯片效果(基于jquery插件)
2013/11/05 Javascript
Javascript获取表单名称(name)的方法
2015/04/02 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
关于两个jQuery(js)特效冲突的bug的解决办法
2016/09/04 Javascript
浅谈关于.vue文件中style的scoped属性
2017/08/19 Javascript
Angular4学习笔记之根模块与Ng模块
2017/09/09 Javascript
微信小程序下拉刷新界面的实现
2017/09/28 Javascript
JS中的事件委托实例浅析
2018/03/22 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
js中forEach,for in,for of循环的用法示例小结
2020/03/14 Javascript
在vue项目中 实现定义全局变量 全局函数操作
2020/10/26 Javascript
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
Python解析、提取url关键字的实例详解
2018/12/17 Python
修改Pandas的行或列的名字(重命名)
2019/12/18 Python
利用PyQt中的QThread类实现多线程
2020/02/18 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
Python pandas如何向excel添加数据
2020/05/22 Python
Pycharm中配置远程Docker运行环境的教程图解
2020/06/11 Python
html5中的input新属性range使用记录
2014/09/05 HTML / CSS
俄罗斯珠宝市场的领导者之一:Бронницкий ювелир
2019/10/02 全球购物
英国第一职业高尔夫商店:Clickgolf.co.uk
2020/11/18 全球购物
Java中compareTo和compare的区别
2016/04/12 面试题
师范生自荐信
2013/10/27 职场文书
高校教师自荐信范文
2014/03/13 职场文书
2014年药店店长工作总结
2014/11/17 职场文书
事业单位年度考核评语
2014/12/31 职场文书
租赁协议书
2015/01/27 职场文书
2015年设计师个人工作总结
2015/04/25 职场文书
课程设计感想范文
2015/08/11 职场文书