Python 官方文档:入门教程 => 点击学习
python没有真正的全局变量,在Java和c++中,全局变量则是程序级别的,站在它们的角度,那么Python就是没有全局变量,而在python的角度,是有全局变量,python提供global关键字,可以修改全局变量,在python中的全
python没有真正的全局变量,在Java和c++中,全局变量则是程序级别的,站在它们的角度,那么Python就是没有全局变量,而在python的角度,是有全局变量,python提供global关键字,可以修改全局变量,在python中的全局变量只是针对当前python文件/模块所定义的,python文件就是一个模块,独立的命名空间,模块内定义的变量就只属于该命名空间,so,python没有真正的全局变量,全局变量也只是文件级别。
所以Python的全局变量是相对而言的
例子:
test.py
a = 1
t1.py
import sys
import test # 导入test模块
a = 1 # 声明一个变量
def func1():
global a # 引用当前命名空间的全局变量
a += 1
def func2():
test.a += 1 # 引用test模块命名空间的变量
def func3():
# print(sys.modules) # 记录当前文件导入的所有模块
module = sys.modules['test'] # 二次引用已导入的test模块
module.a += 1 # 引用test模块命名空间的变量
func1()
func2()
func3()
print(a) # 结果:2
print(test.a) # 结果:3
--结束END--
本文标题: Python 全局变量扫盲
本文链接: https://www.lsjlt.com/news/191487.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0