装饰器的语法糖

# _*_ coding: utf-8 _*_

# 装饰器的语法糖

# @装饰器的名字:要在被装饰对象正上方单独一行写上

import time
# 引用time内置函数

def timmer(func):

def wrapper(*args, **kwargs):
start = time.time()
res = func(*args, **kwargs)
stop = time.time()
print('Run time is %s' %(stop - start))
return res
return wrapper

#(new)index = timmer((旧)index的内存地址 = func)
# index的内存地址 = func
@timmer
def index():
print('Welcome to index page')
time.sleep(1)

@timmer#home = timmer(home)
def home(name):
print('welcome %s to home page' %name)
time.sleep(1)
return 888

index()
res = home('oOC')
print(res)

####无参装饰器模版####
def outter(func):
def wrapper(*args,**kwargs):
#在调用函数前加功能
res=func(*args,**kwargs) #调用被装饰的\也就是最原始的那个函数
#在调用函数后加功能
return res
return wrapper


#

@outter #index=outter(index) #index=wrapper
def index():
print('welcome to index page')
time.sleep(3)

index()

转载于:https://www.cnblogs.com/OutOfControl/p/9714826.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值