一道题目
请编写一个decorator,能在函数调用的前后打印出'begin call'和'end call'的日志。
def log(func):
def wrapper(*args, **kw):
print 'begin call'
c = func(*args, **kw)#与return func(*args,**kw)不同的是,这里利用赋值来调用函数
print 'end call'
return c#那么这里就只会返回函数的值,而不会再次调用函数了
return wrapper
@log
def now():
return 1
请编写一个decorator,能在函数调用的前后打印出'begin call'和'end call'的日志。
def log(func):
def wrapper(*args, **kw):
print 'begin call'
c = func(*args, **kw)#与return func(*args,**kw)不同的是,这里利用赋值来调用函数
print 'end call'
return c#那么这里就只会返回函数的值,而不会再次调用函数了
return wrapper
@log
def now():
return 1