我试图在其子函数中使用函数的参数,但收到未定义的错误。
示例代码如下所示:为简单起见,将父函数定义为父函数,将子函数定义为子函数。
def child():
i += 1
print(i)
def parent(i):
print(2*i)
child()
Run Code Online (Sandbox Code Playgroud)
PS我不想i作为参数传入,child()因为它在我的原始代码中不起作用。
我已经使用 classmethods 搜索并找到了一些解决方案,但我想要任何其他可能的方式。
你不能。Python 是静态作用域的;child不会看起来在其从中函数的范围称为 一变量定义,只在作用域其所限定。你想要什么需要动态范围。(注意:这是一个与静态和动态类型不同的问题,后者涉及您可以分配给名称的值的类型。)
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |