【发布时间】:2013-02-27 07:35:29
【问题描述】:
def decorator(func):
def wrapper(func):
do something before
func()
do something later
return wrapper
func = decorator(func) ----> 这是我的装饰函数 func() 做装饰的东西并给我输出。
为什么不简单地装饰一下呢?
def decorator(func):
do something before
func()
do something later
decorator(func)
我能看到的唯一优势是,在一种情况下,我获得了用于分配和重用的 func 对象。我想这个问题有点含糊,但我在想如果我们的目的只是装饰,为什么我们需要返回一个函数对象?我的意思是有什么好处?
【问题讨论】:
-
“只是装饰”对你意味着什么?
-
这个问题也与 Python 中函数和变量的方式密切相关。装饰我的意思是在之前和之后做一些事情。