装饰器。
定义装饰器
def outer(func): def inner(*args,**kwargs): '''添加装饰功能''' start = time.time() print('*****装饰器******') ret = func(*args,**kwargs) #接收被装饰函数的返回值 time.sleep(1) over = time.time() spend=str(over-start) print('cost %s secends'%spend) return ret #返回被装饰函数的返回值 return inner
调用
@outer def say(name,age): #函数的参数理论上是无限制的,但实际上最多6个 print('My name is %s,%d years old'%(name,age)) return 'say的返回值' a = say('Eric',23) print(a) #如果定义装饰器时没有return ret ,则此处打印的是inner函数的返回值(原本就是。。。)

浙公网安备 33010602011771号