Explique como o decorador Python funciona [duplicado]
Esta pergunta já tem uma resposta aqui:
Como fazer uma cadeia de decoradores de funções? 17 respostasEste é um exemplo para o decorador python. Não consigo entender como isso funciona. Por favor, explique-me o fluxo de controle do exemplo fornecido. Eu serei muito grato.
def helloSolarSystem(original_function):
def new_function(*args, **kwargs):
original_function(*args, **kwargs)
print("Hello, solar system!")
return new_function
def helloGalaxy(original_function):
def new_function(*args, **kwargs):
original_function(*args, **kwargs)
print("Hello, galaxy!")
return new_function
@helloGalaxy
@helloSolarSystem
def hello(targetName=None):
if targetName:
print("Hello, " + targetName +"!")
else:
print("Hello, world!")
hello("Earth")