import time
import random
from functools import wraps
def eat(name,content):
begin_time=time.time()
time.sleep(random.randrange(1,6))
end_time=time.time()
use_time=end_time-begin_time
print(f" eat func use {use_time} s")
eat("xiaoming","测试")
print("====================================改造版本=================================================")
def time_it(func):#第一次装饰函数
'''
装饰器方法 time_it
:param func:
:return: 返回内部方法
'''
@wraps(func)
def _wrapper(*args,**kwargs):
'''
内部方法
:param args:
:param kwargs:
:return: 执行时间
'''
begin_time = time.time()
result=func(*args,**kwargs)
end_time = time.time()
use_time = end_time - begin_time
print(f"方法名称:{func.__name__} 用时:{use_time}")
return result
return _wrapper
@time_it
def eat_v2(name,content):
'''
当前 eat_v2 方法,被装饰的方法
:param name:
:param content:
:return:
'''
time.sleep(random.randrange(1, 6))
print(f" {name} 吃 {content}")
eat_v2("小王","KFC")
@time_it
def add(x,y,z):
time.sleep(1)
return x+y+z
print("=========================add 方法装饰=======================")
result=add(1,2,3)
print(f"执行结果:{result}")