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 相关文章推荐
pyenv命令管理多个Python版本
Mar 26 Python
Python实现的文本简单可逆加密算法示例
May 18 Python
Python处理Excel文件实例代码
Jun 20 Python
Python实现多进程共享数据的方法分析
Dec 04 Python
Python线性回归实战分析
Feb 01 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
Mar 13 Python
python散点图实例之随机漫步
Aug 27 Python
python 利用turtle库绘制笑脸和哭脸的例子
Nov 23 Python
pycharm 设置项目的根目录教程
Feb 12 Python
Python新手学习函数默认参数设置
Jun 03 Python
使用Python通过oBIX协议访问Niagara数据的示例
Dec 04 Python
Python实现视频自动打码的示例代码
Apr 08 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
如何开始收听短波广播
2021/03/01 无线电
PHP 事件机制(2)
2011/03/23 PHP
php获取新浪微博数据API实例
2013/11/12 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
PHP保存session到memcache服务器的方法
2016/01/19 PHP
PHP 实现从数据库导出到.csv文件方法
2017/07/06 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
Some tips of wmi scripting in jscript (1)
2007/04/03 Javascript
csdn 博客中实现运行代码功能实现
2009/08/29 Javascript
jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版
2013/01/11 Javascript
JavaScript中的值类型详细介绍
2014/12/29 Javascript
javascript面向对象之对象的深入理解
2015/01/13 Javascript
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
2016/09/27 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
小程序视频列表中视频的播放与停止的示例代码
2018/07/20 Javascript
ES6入门教程之变量的解构赋值详解
2019/04/13 Javascript
javascript开发实现贪吃蛇游戏
2020/07/31 Javascript
js异步接口并发数量控制的方法示例
2020/11/22 Javascript
[03:35]2018年度DOTA2最佳辅助位选手5号位-完美盛典
2018/12/17 DOTA
Python对列表中的各项进行关联详解
2017/08/15 Python
linux下python中文乱码解决方案详解
2019/08/28 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
2019/09/15 Python
python tkinter图形界面代码统计工具
2019/09/18 Python
露营世界:Camping World
2017/02/02 全球购物
个人求职简历中英文自我评价
2013/12/16 职场文书
班主任工作经验材料
2014/02/02 职场文书
规划编制实施方案
2014/03/15 职场文书
毕业生就业意向书
2014/04/01 职场文书
会计专业应届生自荐信
2014/06/28 职场文书
行政专员岗位职责说明书
2014/07/30 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书
大学生见习总结报告
2015/06/24 职场文书
浅谈redis五大数据结构和使用场景
2021/04/12 Redis
Golang 字符串的常见操作
2022/04/19 Golang