def log(text):
def decorator(func):
def wrapper(*args,**kw):
print '%s %s():'%(text,func._name_)
return func(*args,**kw)
return wrapper
return decorator
@log('execute')
def now():
print '2016-10-20'
def decorator(func):
def wrapper(*args,**kw):
print '%s %s():'%(text,func._name_)
return func(*args,**kw)
return wrapper
return decorator
@log('execute')
def now():
print '2016-10-20'
print now()
AttributeError: 'function' object has no attribute '_name_'
def log(text):
def decorator(func):
def wrapper(*args,**kw):
print '%s %s():'%(text,func.__name__)
return func(*args,**kw)
return wrapper
return decorator
@log('execute')
def now():
print '2016-10-20'
print now()
错误就在红色标记处,结果是因为”__doc__“写成了”_doc_“: