Python中的变量和作用域详解

作用域介绍

python中的作用域分4种情况: L:local,局部作用域,即函数中定义的变量;

E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的;

G:globa,全局变量,就是模块级别定义的变量; B:built-in,系统固定模块里面的变量,比如int, bytearray等。 搜索变量的优先级顺序依次是:作用域局部>外层作用域>当前模块中的全局>python内置作用域,也就是LEGB。

x = int(2.9) # int built-ing_count = 0 # globaldef outer():o_count = 1 # enclosingdef inner():i_count = 2 # local

登录后复制

当然,local和enclosing是相对的,enclosing变量相对上层来说也是local。

立即学习“Python免费学习笔记(深入)”;

#定义变量a>>> a = 0>>> print a0#定义函数p()>>> def p():... print a... >>> p()0#定义函数p2()>>> def p2():... print a... a = 3... print a... >>> p2() # 运行出错,外部变量a先被引用,不能重新赋值Traceback (most recent call last):File "", line 1, in File "", line 2, in p2UnboundLocalError: local variable 'a' referenced before assignment#定义函数p3()>>> def p3():... a = 3 # 不引用直接赋值... print a... >>> p3()3>>> print a0 # 外部变量a并未改变

登录后复制

以上所述是小编给大家介绍的Python中的变量和作用域详解,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2285605.html

(0)
上一篇 2025年2月27日 21:33:45
下一篇 2025年2月22日 14:34:43

AD推荐 黄金广告位招租... 更多推荐

发表回复

登录后才能评论