Posso usar um decorador para alterar o escopo local de uma função em Pytho

Existe alguma maneira de escrever um decorador para que o seguinte funcion

assert 'z' not in globals()

@my_decorator
def func(x, y):
   print z

EDIT: movido de anwser

Em resposta ao hop "por quê?": Sintaxe sugar / DRY.

Não se trata de cache, trata-se de calcular z (e z1, z2, z3, ...) com base nos valores de x e

Tenho muitas funções que fazem coisas relacionadas e não quero escrever

z1, z2, z3=calculate_from(x, y)

no início de cada função - eu vou errar em algum lugar. Se fosse c, eu faria isso com cpp (se fosse lisp, faria com macros ...), mas queria ver se os decoradores poderiam fazer a mesma cois

Se isso ajudar, eu quase certamente chamaria o decorador de "pré-cálculo_z" e certamente não faria parte de nenhuma API públic

rovavelmente, eu também poderia obter um efeito semelhante ao usar a infraestrutura de classe, mas queria ver se era possível com funções bruta

questionAnswers(7)

yourAnswerToTheQuestion