立即学习:https://edu.csdn.net/course/play/24459/296348?utm_source=blogtoedu
装饰器原理
account = { "is_authenticated":False, "username":"alex", "password":"abc123" } def login(func): def inner(): if account["is_authenticated"] is False: username = input("user:") password = input("password") if username == account["username"] and password == account["password"]: print("welcome login") account["is_authenticated"] = True func() else: print("wrong username or password") else: print("already login") func() return inner def home(): print("首页") def america(): print("欧美") def japan(): print("日韩") def henan(): print("河南") america = login(america) henan = login(henan) home() america() henan()
装饰器语法:
def home(): print("首页") @login #实现了 america = login(america) def america(): print("欧美") def japan(): print("日韩") @login #实现了 henan = login(henan) def henan(): print("河南") home() america() henan()