python系列教程186——访问全局变量

Posted 人工智能AI技术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python系列教程186——访问全局变量相关的知识,希望对你有一定的参考价值。

朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow

声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!想要学习AI技术的同学可以点击跳转到我的教学网站。PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!

由于全局变量构成了一个被导入的对象的属性,我们能够通过使用导入模块并对其属性进行赋值来访问全局变量,就像下边这个模块文件的例子一样:

# thismod.py

var = 99                       

def local():
    var = 0    

def glob1():
    global var              
    var += 1      

def glob2():
    var = 0       
    import thismod                   # Import myself
    thismod.var += 1         

def glob3():
    var = 0       
    import sys        
    glob = sys.modules['thismod'] 
    glob.var += 1             

def test():
    print(var)
    local(); glob1(); glob2(); glob3()
    print(var)

运行时,这将会给全局变量加3(只有第一个函数不会影响全局变量):

>>>import thismod

>>>thismod.test()

99

102

>>>thismod.var

102

以上是关于python系列教程186——访问全局变量的主要内容,如果未能解决你的问题,请参考以下文章

python系列教程184——尽量少用全局变量

Python入门系列教程函数

python系列教程162——更复杂的列表解析

python系列教程136——带星号的变量名

Python基础笔记系列九:变量自定义函数以及局部变量和全局变量

python系列教程185——不要直接修改其他文件的变量