标签:passwd welcome *args class com after div 功能 python学习
网站实现验证功能装饰器:
import time
user,passwd=‘alex‘,‘abc123‘
def auth(func):
def wrapper(*args,**kwargs):
print("wraper func args:",*args,**kwargs)
username=input("Username:").strip()
password=input("Password:").strip()
if user==username and passwd==password:
print("\033[32;1mUser has passed authentication\033[0m")
func(*args,**kwargs)#
#print("---after authentication---")#保留要装饰函数home的输出结果
#return res
else:
exit("\033[31;1mInvalid username or password\033[0m")
return wrapper
def index():
print("welcome to index page")
@auth
def home():
print("welcome to home page ")
return "from home"
@auth
def bbs():
print("welcome to bbs page")
index()
home()
print(home())#执行结果为空,调用home相当于调用wraper
bbs()
保留要装饰函数的返回结果:
import time
user,passwd=‘alex‘,‘abc123‘
def auth(func):
def wrapper(*args,**kwargs):
print("wraper func args:",*args,**kwargs)
username=input("Username:").strip()
password=input("Password:").strip()
if user==username and passwd==password:
print("\033[32;1mUser has passed authentication\033[0m")
res=func(*args,**kwargs)#
print("---after authentication---")#保留要装饰函数home的输出结果
return res
else:
exit("\033[31;1mInvalid username or password\033[0m")
return wrapper
def index():
print("welcome to index page")
@auth
def home():
print("welcome to home page ")
return "from home"
@auth
def bbs():
print("welcome to bbs page")
index()
home()
print(home())#执行结果为空,调用home相当于调用wraper
bbs()
不同网页不同验证方式的装饰器:
import time
user,passwd=‘alex‘,‘abc123‘
def auth(auth_type):
print("auth func:",auth_type)
def outer_auth(func):
def wrapper(*args,**kwargs):
print("wraper func args:",*args,**kwargs)
if auth_type=="local":
username=input("Username:").strip()
password=input("Password:").strip()
if user==username and passwd==password:
print("\033[32;1mUser has passed authentication\033[0m")
res=func(*args,**kwargs)#
print("---after authentication---")#保留要装饰函数home的输出结果
return res
else:
exit("\033[31;1mInvalid username or password\033[0m")
elif auth_type=="ldap":
print("搞毛线ldap,不会。。。。")
return wrapper
return outer_auth
def index():
print("welcome to index page")
@auth(auth_type="local")
def home():
print("welcome to home page ")
return "from home"
@auth(auth_type="ldap")
def bbs():
print("welcome to bbs page")
index()
home()
print(home())#执行结果为空,调用home相当于调用wraper
bbs()
标签:passwd welcome *args class com after div 功能 python学习
原文地址:http://www.cnblogs.com/xiaobai005/p/7909175.html