是否可以以编程方式搜索Python的中间范围?

时间:2019-04-16 17:58:10

标签: python scope stack-trace

考虑其中function1在其本地范围内定义了x的Python代码。我想知道是否有可能编写go_up_stack_and_find("x"),使其通过中间作用域进入堆栈,并在这些作用域的locals()中找到“ x”:

def function1(): 
    x = 1 
    function2() 


def function2(): 
    go_up_stack_and_find("x") 

我了解Python的范围规则(本地和全局),并且了解通常无法使用中间范围。但是是否有可能(例如通过stacktrace)以编程方式向上堆栈,检查locals()并从该深度返回值?我知道调试器是可能的。

0 个答案:

没有答案