shadows name ‘xxxx’ from outer scope警告解决
如果你的python代码在执行的时候,出现了上述的错误。这是啥意思呢?
在PyCharm中提示shadows name ‘xxxx’ from outer scope,当你在函数方法外部有个相同名称的变量,然后在函数方法内部被重新指定了新的值
也就是说你在函数外部的相同名称的变量压根就没有任何作用。
所以PyCharm就会提示这个信息。这个时候就需要我们去调整具体代码了。
python的变量的作用域
模块对应global,
最内层为local,
外层为nonlocal
变量查找顺序:内层作用域->外层->全局->builtin
只有class、def和lamda会改变作用域
读取变量的时候,如果local没有,查找nonlocal,然后global
写变量的时候,如果没有指明nonlocal/global, 就是在局部作用域定义一个新的变量
demo
def func():
param = 'b'
print(param)
if __name__ == '__main__':
param = 'a'
func()