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学习 流程控制语句详解
Jun 01 Python
结合Python的SimpleHTTPServer源码来解析socket通信
Jun 27 Python
Python数据结构之双向链表的定义与使用方法示例
Jan 16 Python
解析Python的缩进规则的使用
Jan 16 Python
selenium处理元素定位点击无效问题
Jun 12 Python
pyqt 多窗口之间的相互调用方法
Jun 19 Python
python multiprocessing模块用法及原理介绍
Aug 20 Python
python3 mmh3安装及使用方法
Oct 09 Python
基于python3实现倒叙字符串
Feb 18 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
Mar 11 Python
Python趣味入门教程之循环语句while
Aug 26 Python
Python就将所有的英文单词首字母变成大写
Feb 12 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
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
2009/07/01 PHP
php 后端实现JWT认证方法示例
2018/09/04 PHP
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
2015/03/14 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
2015/10/14 Javascript
基于jQuery实现仿51job城市选择功能实例代码
2016/03/02 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
jQuery的框架介绍
2016/05/11 Javascript
Javascript基础_嵌入图像的简单实现
2016/06/14 Javascript
AngularJS读取JSON及XML文件的方法示例
2017/05/25 Javascript
浅谈Vue 数据响应式原理
2018/05/07 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
2018/08/24 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
2020/11/06 Javascript
python的几种开发工具介绍
2007/03/07 Python
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
python实现的简单猜数字游戏
2015/04/04 Python
使用wxPython获取系统剪贴板中的数据的教程
2015/05/06 Python
举例详解Python中循环语句的嵌套使用
2015/05/14 Python
解决Python3.5+OpenCV3.2读取图像的问题
2018/12/05 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
python自动下载图片的方法示例
2020/03/25 Python
基于python实现计算两组数据P值
2020/07/10 Python
CSS3 please 跨浏览器的CSS3产生器
2010/03/14 HTML / CSS
巴西体育用品商店:Lojão dos Esportes
2018/07/21 全球购物
主管职责范文
2013/11/09 职场文书
怎样写好自荐信和推荐信
2013/12/26 职场文书
开业典礼主持词
2014/03/21 职场文书
《开国大典》教学反思
2014/04/19 职场文书
法制教育讲座心得体会
2016/01/14 职场文书
PHP中->和=>的意思
2021/03/31 PHP
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis