1,Python语法层面对面向切面编程的支持(方法名装饰后改变为log)
__author__ = 'Administrator'
import time
def log(func):
def wrapper(*args):
start = time.time()
func(args)
end =time.time()
print 'func used time is :', end - start
return wrapper
@log
def reg(args):
print 'welcome %s ' %(args[0])
reg('joeyon','123456') 2,functools模块对面向切面的支持(方法名装饰后不改变)
import time
from functools import wraps
def log(func):
@wraps(func)
def wrapper(arg1,arg2):
start = time.time()
func(arg1,arg2)
end =time.time()
print 'func used time is :', end - start
return wrapper
@log
def reg(username,pwd):
print 'welcome %s ' %(username)
reg('joeyon','123456')
本文介绍了Python中使用装饰器实现面向切面编程的方法,包括语法层面的装饰器应用及利用functools模块保持被装饰函数元信息不变的技术。通过具体示例展示了如何测量函数运行时间。
805

被折叠的 条评论
为什么被折叠?



