我想这就是它们的调用方式,但我会举例说明以防万一.
装饰者类:
class decorator(object):
def __init__(self, func):
self.func = func
def __call__(self, *args, **kwargs):
print 'something'
self.func(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
装饰功能:
def decorator(func):
def wrapper(*args, **kwargs):
print 'something'
return func(*args, **kwargs)
return wrapper
Run Code Online (Sandbox Code Playgroud)
使用其中一个只是一个品味的问题?有什么实际区别吗?