Python全局变量扫盲-创新互联

Python没有真正的全局变量,在Java和C++中,全局变量则是程序级别的,站在它们的角度,那么python就是没有全局变量,而在python的角度,是有全局变量,python提供global关键字,可以修改全局变量,在python中的全局变量只是针对当前python文件/模块所定义的,python文件就是一个模块,独立的命名空间,模块内定义的变量就只属于该命名空间,so,python没有真正的全局变量,全局变量也只是文件级别。

成都创新互联-专业网站定制、快速模板网站建设、高性价比株洲网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式株洲网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖株洲地区。费用合理售后完善,十多年实体公司更值得信赖。

所以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

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:Python全局变量扫盲-创新互联
文章位置:http://ybzwz.com/article/pidpg.html