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.dietsnews.net/