Reflektieren / Untersuchen Sie geschlossene Variablen in Python
Wenn ich habe:
def f(x):
def g(y):
return x + y
return g
f2 = f(2)
Gibt es eine Möglichkeit, die 'x'-Bindung zu finden, die f2 verwenden wird? Ich habe mir inspect angesehen, konnte aber nicht sagen, ob ein Teil des Rahmens zutreffen würde. Mit anderen Worten, könnte ich unten ein closedVars () definieren:
def closedVars(anF):
... return ...
assert closedVars(f2) == {'x': 2}