引用链接:
参考廖雪峰老师的教程
请编写一个decorator,能在函数调用的前后打印出'begin call'和'end call'的日志。
# !/usr/bin/env python3
# -*- coding:utf-8 -*-
import functools
import time
def log(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
print('begin call')
print('call %s():' % func.__name__)
value = func(*args, **kwargs)
print('end call')
return value
return wrapper
@log
def func1(para,p2):
print time.ctime()
print "%s:%s" % (para,p2)
func1("test", "abc")
执行结果:
>>>
begin call
call func1():
Wed Nov 16 23:58:11 2016
test:abc
end call
阅读(726) | 评论(0) | 转发(0) |