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中的一些高级编程技巧
Apr 02 Python
Python的Bottle框架中获取制定cookie的教程
Apr 24 Python
Python基于select实现的socket服务器
Apr 13 Python
在Python中执行系统命令的方法示例详解
Sep 14 Python
python numpy函数中的linspace创建等差数列详解
Oct 13 Python
python一行sql太长折成多行并且有多个参数的方法
Jul 19 Python
Python理解递归的方法总结
Jan 28 Python
Python实例方法、类方法、静态方法的区别与作用详解
Mar 25 Python
python实现截取屏幕保存文件,删除N天前截图的例子
Aug 27 Python
python如何通过pyqt5实现进度条
Jan 20 Python
解决Keras自带数据集与预训练model下载太慢问题
Jun 12 Python
Python实现将多张图片合成MP4视频并加入背景音乐
Apr 28 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在线生成二维码代码(google api)
2013/06/03 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
2014/10/29 PHP
php发送http请求的常用方法分析
2016/11/08 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
List the Codec Files on a Computer
2007/06/18 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
JavaScript二维数组实现的省市联动菜单
2014/05/08 Javascript
jQuery实现的Div窗口震动效果实例
2015/08/07 Javascript
javascript中arguments,callee,caller详解
2016/03/16 Javascript
Bootstrap表单组件教程详解
2016/04/26 Javascript
JavaScript数组方法总结分析
2016/05/06 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
2017/04/13 Javascript
学习Vue组件实例
2018/04/28 Javascript
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
判断“命令按钮”是否被鼠标单击详解
2019/07/31 Javascript
微信小程序之左右布局的实现代码
2019/12/13 Javascript
es6中Promise 对象基本功能与用法实例分析
2020/02/23 Javascript
[03:16]DOTA2完美大师赛主赛事首日集锦
2017/11/23 DOTA
[01:00:14]DOTA2官方TI8总决赛纪录片 真视界True Sight
2019/01/16 DOTA
跨平台python异步回调机制实现和使用方法
2013/11/26 Python
使用FastCGI部署Python的Django应用的教程
2015/07/22 Python
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
Pandas 数据处理,数据清洗详解
2018/07/10 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
python异常处理、自定义异常、断言原理与用法分析
2020/03/23 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
2020/05/12 Python
HTML5 Convas APIs方法详解
2015/04/24 HTML / CSS
HTML5实现移动端点击翻牌功能
2020/10/23 HTML / CSS
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
FC-Moto英国:欧洲最大的摩托车服装和头盔商店之一
2019/08/25 全球购物
大整数数相乘的问题
2012/07/22 面试题
银行职员思想汇报
2013/12/31 职场文书
2015秋学期开学寄语
2015/05/28 职场文书
2015入党自传书范文
2015/06/26 职场文书
Python 类,对象,数据分类,函数参数传递详解
2021/09/25 Python