python函数作用域以及LEGB原则

来源:互联网 发布:安卓6.0读取数据库 编辑:程序博客网 时间:2024/05/21 16:55

python函数作用域遵循LEGB原则,L>E>G>B
L: local函数内部作用域
E:enclosing函数内部与内嵌函数之间
G:global全局作用域
B:build-in内置作用域
下面用一个例子进行解释:

pass_line = 60  # pass_line: globaldef 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_indef maximum(val1, val2):    return max(val1, val2)  # max(): build-inif __name__ == "__main__":    f = func(89)    f()
0 0
原创粉丝点击