""""""
"""1.模板"""
def outter(func):
def inner(*args,**kwargs):
print('执行被装饰函数之前 你可以做的操作')
res = func(*args, **kwargs)
print('执行被装饰函数之后 你可以做的操作')
return res
return inner
"""
认证装饰器
执行函数index之前必须先输入用户名和密码 正确之后才能执行index
否则提示用户输入错误 结束程序
"""
import time
user_dic = {'is_login':None}
def login_auth(func):
def inner(*args,**kwargs):
if user_dic['is_login']:
res = func(*args,**kwargs)
return res
else:
username = input("please_your_name>>>:").strip()
password = input('please input your password>>>:').strip()
if username == 'jason' and password == '123':
user_dic['is_login'] = True
res = func(*args,**kwargs)
return res
else:
print('username or password error')
return inner
@login_auth
def index(name):
time.sleep(1)
print('%s is dsb' % name)
return 666
@login_auth
def home():
time.sleep(1)
print('home')
return 999
# index('egon')
print(index)
# home()
print(home)
"""2.多层"""