python跨文件使用全局变量的实现
作者:米码收割机 时间:2022-03-31 17:24:36
跨文件使用全局变量
有多个py文件同时使用一个全局变量时,那应该如何使跨文件,用这个全局变量呢?
1. 错误示范
file1.py代码如下:
num = 1 # 在file1中定义全局变量num=1
def add_value():
global num
num += 100
file2.py代码如下:
from file1 import *
def sub_value():
global num
num -= 10
add_value() # 在file2中执行file1中的add_value函数
sub_value() # 执行sub_value函数
print(num) # 打印结果:-9
很多同学认为应该打印92,即:1+100-10 = 91。但是实际只打印了-9,也就说明,file2.py中执行的add_value并没有让全局变量num发生变化。
那么,如何让num变为真正的全局变量呢?
2. 正确示范
首先,我们单独定义一个glob.py文件
def _init(): # 初始化
global _global_num
_global_num = [1] # 定义一个列表存放全局变量的初始值
def add_num(num): # 为全局变量执行加法
_global_num[0] += num
def sub_num(num): # 为全局变量执行减法
_global_num[0] -= num
def get_all(): # 取出全局变量的值
return _global_num[0]
其次,file1.py文件代码如下:
import glob
glob._init() # 必须在file1.py中初始化全局变量
def add_value(num):
glob.add_num(num)
最后,file2.py文件代码如下:
import glob
from file1 import *
def sub_value(num):
glob.sub_num(num)
add_value(100)
sub_value(10)
print(glob.get_all()) # 运行结果:91
来源:https://blog.csdn.net/weixin_44244190/article/details/129260542
标签:python,跨文件,全局变量
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
将 html 转成 ubb代码的小脚本
2013-06-25 07:07:00
python监控文件或目录变化
2023-09-05 16:08:28
python 切片和range()用法说明
2021-12-12 07:40:52
python flask之模板继承方式
2022-05-26 03:38:24
![](https://img.aspxhome.com/file/2023/2/89162_0s.png)
IE6下的CSS BUG枚举
2010-06-11 10:45:00
python用opencv将标注提取画框到对应的图像中
2023-01-18 21:10:16
![](https://img.aspxhome.com/file/2023/5/72845_0s.png)
sql存储过程获取汉字拼音头字母函数
2011-11-03 16:58:05
使用PyCharm调试程序实现过程
2023-09-30 10:27:08
![](https://img.aspxhome.com/file/2023/4/101704_0s.png)
css表单中textarea域背景图片设置方法
2008-04-21 13:56:00
vertical-align表单元素垂直对齐
2009-07-27 13:02:00
无忧 月影出书啦《JavaScript王者归来》
2008-01-09 13:45:00
![](https://img.aspxhome.com/file/UploadPic/20081/9/200819135150291s.gif)
Python 文件数据读写的具体实现
2023-07-08 12:15:06
python脚本定时发送邮件
2023-08-07 16:36:02
![](https://img.aspxhome.com/file/2023/0/59290_0s.jpg)
Javascript 闭包[翻译]
2008-09-28 20:59:00
深入了解NumPy 高级索引
2023-07-02 05:22:51
解析Oracle数据库中的对象集合schema
2023-07-22 20:42:34
![](https://img.aspxhome.com/file/2023/8/64458_0s.jpg)
基于PyQt5制作Excel文件数据去重小工具
2023-10-14 05:44:58
![](https://img.aspxhome.com/file/2023/3/97413_0s.png)
ASP编程入门进阶(十):Global.asa文件
2008-07-12 07:05:00
深度学习Tensorflow 2.4 完成迁移学习和模型微调
2023-12-04 14:56:17
![](https://img.aspxhome.com/file/2023/0/101260_0s.png)
基于Python实现中秋佳节月饼抢购脚本
2023-02-23 12:48:39
![](https://img.aspxhome.com/file/2023/8/94068_0s.webp)