考虑一些简单的闭包:
def foo(an_argument, a_kw_argument=10):
a = 10
def bar():
print(a)
print('locals dict:', locals())
return bar
在上面的代码中,您可以看到locals()
字典的输出,该字典描述了bar()
函数的本地上下文。如何从闭包内部查看该本地上下文?
我的基本理解是,它是通过附加在bar
上的单元格对象表示的,但是我无法从python世界中看到如何利用它。
在实践中,我不想查看功能本身中的上下文,但是我想通过装饰器来处理它。重点是使用python进行元编程。