函数作用域小结

1.变量查找顺序:LEGB,作用域局部>外层作用域>当前模块中的全局>python内部作用域

2.只有模块,类,函数才能引入新作用域

3.对于一个变量,内部作用域先声明就会覆盖外部变量,不声明直接使用,就会使用外部作用域的变量

4.内部作用域要修改外部作用域的值时,全局变量要使用global关键字,嵌套作用域变量要使用nonlocal关键字,nonlocal是python3新增关键字,有了这个关键字,就能完美的实现闭包了。

原文地址:https://www.cnblogs.com/xuxu-learn-python/p/7833717.html