Refletir / inspecionar variáveis fechadas em Python
Se eu tiver:
def f(x):
def g(y):
return x + y
return g
f2 = f(2)
Existe uma maneira de encontrar a ligação 'x' que f2 usará? Eu olhei para inspecionar, mas não sabia dizer se algumas das coisas "frame" se aplicariam. Em outras palavras, eu poderia definir um closedVars () abaixo:
def closedVars(anF):
... return ...
assert closedVars(f2) == {'x': 2}