首页 > 解决方案 > 在子函数中访问函数的参数

问题描述

我试图在其子函数中使用函数的参数,但得到一个未定义的错误。

示例代码如下所示:为简单起见,父函数定义为父函数,子函数定义为子函数。

def child():
    i += 1
    print(i)

def parent(i):
    print(2*i)
    child()

PS我不想i作为参数传递,child()因为它在我的原始代码中不起作用。

我已经搜索并找到了一些使用类方法的解决方案,但我想要任何其他可能的方式。

标签: pythonfunction

解决方案


你不能。Python 是静态作用域的;child不会在调用它的函数的范围内查找 变量定义,只会查看定义它的范围。你想要什么需要动态范围。(注意:这是一个不同于静态与动态类型的问题,它涉及您可以分配给名称的值的类型。)


推荐阅读