纵有疾风起
人生不言弃

python中的global关键字

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

  1. 变量作用域
    先要明确作用域的概念,定义在函数内部的变量拥有一个局部作用域,而定义在函数外的拥有全局作用域。
a = 5  # 这是一个全局变量def hello():    a = 1  # a在这里是局部变量.    print("函数内是局部变量 : ", a)    return ahello()print("函数外是全局变量 : ", a)

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

  1. global关键字
    如果想要在函数内部用模块定义的变量的话,就需要用到global关键字
a = 5def 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

文章转载于:https://www.jianshu.com/p/eac98fd2c54b

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » python中的global关键字
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录