python中的global关键字

看别人写的程序在方法里面的变量前加了global关键字,之前没接触过,遂学习记录下这个知识点

  1. 变量作用域
    先要明确作用域的概念,定义在函数内部的变量拥有一个局部作用域,而定义在函数外的拥有全局作用域。
a = 5  # 这是一个全局变量

def hello():
    a = 1  # a在这里是局部变量.
    print("函数内是局部变量 : ", a)
    return a

hello()
print("函数外是全局变量 : ", a)

运行结果
函数内是局部变量 : 1
函数外是全局变量 : 5

  1. global关键字
    如果想要在函数内部用模块定义的变量的话,就需要用到global关键字
a = 5

def hello():
    global a
    # 声明告诉执行引擎用的是全局变量a
    a = 1
    print('In test func: a = %d' % a)

hello()
print('Global a = %d' % a)

运行结果:
In test func: a = 1
Global a = 1
可以看到函数里成功修改了全局变量a

参考资料
https://blog.csdn.net/diaoxuesong/article/details/42552943
http://www.runoob.com/python/python-functions.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容