python函数作用域遵循LEGB原则,L>E>G>B
L: local函数内部作用域
E:enclosing函数内部与内嵌函数之间
G:global全局作用域
B:build-in内置作用域
下面用一个例子进行解释:
pass_line = 60 # pass_line: global
def func(val): # val: local
pass_line = 90 # pass_line: local
if val >= pass_line:
print("pass")
else:
print("failed")
def fun_in():
print(val) # val: enclosing
return fun_in
def maximum(val1, val2):
return max(val1, val2) # max(): build-in
if __name__ == "__main__":
f = func(89)
f()
本文详细介绍了Python中函数作用域的基本概念LEGB原则,并通过一个具体的代码示例来阐述了局部作用域(local)、封闭作用域(enclosing)、全局作用域(global)以及内置作用域(build-in)之间的区别。

被折叠的 条评论
为什么被折叠?



