Zmień słownik, który służy jako globalny zakres funkcji
Chcę zrobić@pure
dekorator dla Pythona, częścią tego jest możliwość selektywnego uniemożliwienia dostępu do globalnego zakresu funkcji.
Czy istnieje sposób na programową zmianę tego, który słownik służy jako globalny / zewnętrzny zakres funkcji?
Na przykład w poniższym chcę mieć możliwość przechwycenia dostępu dof
wh
i rzuć błąd, ale chcę zezwolić na dostępg
ponieważ jest to czysta funkcja.
def f():
print("Non-pure function")
@pure
def g(i):
return i + 1
@pure
def h(i):
f()
return g(i)