【发布时间】:2014-02-18 06:03:20
【问题描述】:
这是一个python装饰器的例子。我无法理解它的工作方式。请向我解释给定示例的控制流程。我将非常感激。
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")
【问题讨论】:
-
这里有一个小教程可能会有所帮助:codementor.io/python/tutorial/introduction-to-decorators