会员

贴心博客(Imblog)

基于`Imcat(贴心猫)+(微样式)Weys`开发

Python 全局变量扫盲

2019-10-14 08:13 学习
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

```

来源:(原创) 编辑:peace 关键词:Python,全局变量

    More 心情墙

  • 71 不想授权的伙伴,你也多了一条免费之路 ---`贴心博客(Imblog)`!
  • 14 尊重版权,没有任何借口:支持织梦授权。
  • 8 某镇教育网[2007] vs [2021]某校教育平台; 一个成功的作品,和一个成功的项目管理过程,是完全两回事。
  • 10 计划不如变化;说好的[下午]开会,却有意安排到[晚上]。
  • 有所为,有所不为,是为华为! 凝心聚力,中华有为!

    22 2019-06-02

  • 2019愿望: 1.多健身少生病;2.学习英语,心理学;3.发布`贴心博客`,`贴心企业网`,`贴心房产网`(部分合作开发)...

    27 2018-12-31

  • 愿与[企业,客户]三方利益达到最佳平衡!

    4 2018-12-16

    More 和平鸽小语

  • 4 业余系统,开源分享;从未忘记,初心梦想。
  • 3 中国年=人民币: Happy CNY, I get a CNY 8.8 red envelope. 慢慢去体会,用一生去体会!
  • 2 2019:经济危机后;Android,鸿蒙,iOS将三足鼎立 想起:非暴力不合作;该赶美企,抵美货了...
  • 6 修桥、修路、修房子,已经习惯了,只要砸钱就行了; 这个芯片砸钱不行的,得砸数学家、物理学家、化学家... (任正非)
导航
博客文章
便笺墙
家族亲友树
联系我们
地址:银河县太阳镇地球村
电话:135-37****47
邮箱:80893510@qq.com

Copyright@贴心博客(Imblog)

Run:1.419/19.274(ms); 6(sql)/2.094(MB); comm:info/detail; Upd:2021-10-26 09:36:38