python中的作用域分4种情况:
L:local,局部作用域,即函数中定义的变量;
E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的;
G:globa,全局变量,就是模块级别定义的变量;
B:built-in,系统固定模块里面的变量,比如int,bytearray等。搜索变量的优先级顺序依次是:作用域局部>外层作用域>当前模块中的全局>python内置作用域,也就是LEGB。
x=int(2.9)#intbuilt-in
g_count=0#global
defouter():
o_count=1#enclosing
definner():
i_count=2#local
print(o_count)
#print(i_count)找不到
inner()
outer()
#print(o_count)#找不到
当然,local和enclosing是相对的,enclosing变量相对上层来说也是local。
以上内容为大家介绍了python作用域介绍,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/