【问题标题】:Is there a way to access a variable from a calling function in python?有没有办法从python中的调用函数访问变量?
【发布时间】:2023-04-01 11:24:01
【问题描述】:

我不确定这是否可行,但我想知道是否有办法从外部范围获取变量而不将其作为参数传递。

我玩过global()inspect,但我在尝试获取属性时遇到了问题。

这就是我想要做的:


class Example:
    @staticmethod
    def query(**kwargs):
        print(f.read())


with open(__file__) as f:
    Example.query(foo='bar')

【问题讨论】:

  • 至少显示你得到的错误是什么。 get_b() 是什么?
  • 我无法从精神上解析您在这里尝试做什么,更不用说任何看起来凌乱的东西了。您使用上下文管理器调用的a 是什么? get_b 是什么? as b: 的目的是什么?
  • 我们不需要完整地看到它,我们需要了解您实际上想要做什么。事实上,我不可能理解你的意图,如果你不能把它归结为一个简化的例子,添加更多代码也无济于事
  • c() 需要return b
  • 请不要通过破坏您的帖子为他人增加工作量。通过在 Stack Exchange (SE) 网络上发帖,您已根据 CC BY-SA license 授予 SE 分发内容的不可撤销权利(即无论您未来的选择如何)。根据 SE 政策,分发非破坏版本。因此,任何破坏行为都将被撤销。请参阅:How does deleting work? …。如果允许删除,则帖子下方左侧有一个“删除”按钮,但仅在浏览器中,而不是移动应用程序中。

标签:
globals