""""""
"""1.装饰器升级版"""
import time
def index():
time.sleep(3)
print('澳门最大线上赌场开业啦 性感tank在线发牌!')
return 'index'
# res1 = index()
def login(name):
time.sleep(1)
print('%s is sb'%name)
return 'login'
# res = login('egon')
def outter(func): # func = 最原始的login函数的内存地址
def get_time(*args,**kwargs): # args = ('egon',) kwargs = {}
start = time.time()
res = func(*args,**kwargs) # 最原始的login函数的内存地址() 直接调用 func('egon')
end = time.time()
print('func run time:%s'%(end-start))
return res
return get_time
login = outter(login) # outter(最原始的login函数的内存地址)
ret = login('egon')
"""
egon is sb
func run time:1.000685453414917
"""
"""
函数参数的问题
无参函数和有参函数都可以直接调用???
函数可以接收任意数量的参数
"""
"""2.装饰器语法糖"""
import time
def outer(func): # func = 最原始的index函数的内存地址
def get_time(*args, **kwargs):
start = time.time()
res = func(*args, **kwargs) # 最原始的login函数的内存地址() 直接调用 func('egon')
end = time.time()
print('func run time:%s'%(end-start))
return res
return get_time
# login = outter(login) # outter(最原始的login函数的内存地址)
# index = outter(index)
# home = outter(home)
@outer # index = outter(index) outter(最原始的index的函数的内存地址)
def index():
time.sleep(3)
print('澳门最大线上赌场开业啦 性感tank在线发牌!')
return 'index'
# res1 = index()
@outer # login = outter(login)
def login(name):
time.sleep(1)
print('%s is sb'%name)
return 'login'
# res = login('egon')
@outter # home = outter(home)
def home(*args,**kwargs):
time.sleep(1)
return 'home'
index()
login('egon')
home()
"""
语法糖在书写的时候应该与被装饰对象紧紧挨着
两者之间不要有空格
"""