Изменить какой словарь служит глобальной областью действия функции

Я хочу сделать@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)

Ответы на вопрос(1)

Ваш ответ на вопрос