python - 在子函数中访问函数的参数
问题描述
我试图在其子函数中使用函数的参数,但得到一个未定义的错误。
示例代码如下所示:为简单起见,父函数定义为父函数,子函数定义为子函数。
def child():
i += 1
print(i)
def parent(i):
print(2*i)
child()
PS我不想i
作为参数传递,child()
因为它在我的原始代码中不起作用。
我已经搜索并找到了一些使用类方法的解决方案,但我想要任何其他可能的方式。
解决方案
你不能。Python 是静态作用域的;child
不会在调用它的函数的范围内查找 变量定义,只会查看定义它的范围。你想要什么需要动态范围。(注意:这是一个不同于静态与动态类型的问题,它涉及您可以分配给名称的值的类型。)
推荐阅读
- python - TypeError:在构建 keras 模型时
- reactjs - 将道具添加到 $$typeof: Symbol(react.element)
- kubernetes - 一些 Windows 容器 Pod 在 AKS 上重新启动并从 60 个 Pod 中引发 RabbitMq 连接失败,并且在几次重新启动后进入运行状态
- java - 升级到 Tomcat 8.5.51 时出现空指针异常
- ios - 如何在 iWatch 和 iPhone 应用程序之间同步数据
- r - R:如何显示具有百分比值的热图类型表示的表格
- c# - 继续代码 (ContinueWith) 未执行
- bash - 如何使用 awk 从两个制表符分隔的文件中获取相同行数?
- sql - 如何在 SQL SERVER 中生成范围 X 次的随机数
- reactjs - 在 React.js 中跟踪 Google AdWords 中的转化时,如何使用“gtag_report_conversion”?