首页 > 解决方案 > python nonlocal - 为什么有时需要它有时不需要

问题描述

我知道为什么我们需要在 Python 中声明 nonlocal 并且对以下示例有点困惑。如果没有nonlocal records第 276records行,则第 277 行没有定义。但是,records可以在第 289 行中使用而不会出现任何错误。 没有非本地的

以下是非本地的情况,效果很好。 与非本地

标签: pythonpython-nonlocal

解决方案


nonlocal声明类似于global声明。仅当函数分配给变量时才需要两者。通常,这样的变量将成为函数的局部变量。nonlocalandglobal声明导致它引用存在于函数外部的变量。

如果函数没有分配给变量,则不需要声明,它会自动在更高的范围内查找它。


推荐阅读