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

本文名称:Python全局变量扫盲
分享URL:http://bzwzjz.com/article/pjoghs.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站制作 高端网站建设 成都网站建设 成都网站建设 成都网站建设 攀枝花网站设计 重庆电商网站建设 成都网站建设 营销网站建设 企业网站建设 响应式网站设计 响应式网站设计方案 手机网站建设套餐 成都网站建设 成都网站设计 成都网站设计 成都网站制作 网站制作 四川成都网站制作 达州网站设计 网站建设方案 成都网站设计