Изменить какой словарь служит глобальной областью действия функции
Я хочу сделать@pure
Декоратор для Python, часть этого - возможность выборочно запретить доступ к глобальной области действия функции
Есть ли способ программно изменить, какой словарь вещь выполняет функцию?глобальная / внешняя сфера?
Так, например, в следующем я хочу иметь возможность перехватить доступ кf
вh
и выкинуть ошибку, но я хочу разрешить доступ кg
потому что это'это чистая функция.
def f():
print("Non-pure function")
@pure
def g(i):
return i + 1
@pure
def h(i):
f()
return g(i)