加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

介绍 Python 全局变量

发布时间:2021-11-09 10:31:23 所属栏目:PHP教程 来源:互联网
导读:Python没有真正的全局变量,在Java和C++中,全局变量则是程序级别的,站在它们的角度,那么python就是没有全局变量,而在python的角度,是有全局变量,Python提供global关键字,可以修改全局变量,在Python中的全局变量只是针对当前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

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读