python装饰器
# decoration
import time
def cal_time(fn):
print('一个外部函数')
print('fn = {}'.format(fn))
def inner():
start = time.time()
fn ()
end = time.time()
print('代码耗时',end - start)
return inner()
@cal_time
def demo():
x=0
for i in range(1,1000):
x+=i
print(x)
“““
一个外部函数
fn = <function demo at 0x00000184190FB0D8>
499500
代码耗时 0.0
”””
代码运行效果为:直接运行cal_time 同时demo转化为cal_time 中的inner函数,而fn为demo函数