手机版
贴心博客(Imblog)(LOGO)

贴心博客(Imblog)

v5.0

基于`jquery2+bootstrap4+贴心猫`开发

Python 全局变量扫盲

发布:2019-10-14 08:13   点击:12次   评论:0
Python 全局变量扫盲
https://blog.51cto.com/12643266/2429895

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

```

评论(0条) 评论列表
 

公司简介 企业文化 服务内容 公司新闻 公司图片 常见问题 联系我们 责权申明

贴心博客(Imblog)基于`jquery2+bootstrap4+贴心猫`开发; QQ群:607070548; 粤ICP备07020797号

Run:1.954/27.345(ms); 3(sql)/2.026(MB); comm:info/detail; Upd:2019-11-21 19:42:42