这篇文章主要介绍Python中global标识对变量作用域的影响有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
global 标识用于在函数内部,修改全局变量的值。
我们可以通过以下规则,来判定一个变量到底是在全局作用域还是局部作用域:
变量定义在全局作用域,那就是全局变量。
变量在函数中定义,并且加了 global 标识,就是全局变量。
如果变量在函数中仅做了定义,那么就是局部变量。
如果变量在函数中仅仅是使用,那么就是全局变量。
下面的示例,有助于理解上述规则:
def cook(): global dumplings dumplings = '10' # 全局变量 print('cook():' + dumplings) def cook2(): dumplings = '22' # 局部变量 print('cook2():' + dumplings) def cook3(): print('cook3():' + dumplings) # 全局变量 dumplings = 3 # 全局变量 cook() print('global:' + dumplings) cook3() cook2()
运行结果:
cook():10 global:10 cook3():10 cook2():22
注意:在函数中,如果在变量定义之前先使用它,就会抛错:
def cook(): print(dumplings) dumplings = 'local' dumplings = 'global' cook()
运行结果:
UnboundLocalError: local variable 'dumplings' referenced before assignment
因为在函数中,存在对 dumplings 的定义赋值语句,所以被认为是局部变量。所以在定义之前,先访问这个局部变量就会抛错。
以上是“Python中global标识对变量作用域的影响有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。