python装饰器
Posted StanLong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python装饰器相关的知识,希望对你有一定的参考价值。
# coding=utf-8 # 高阶函数 + 嵌套函数=》装饰器
#这个是一个为home页面和bbs论坛页面添加登录认证的一个装饰器 user = "stanlong" passwd = "abc123" def auth(auth_type): def outer_wrapper(func): def wrapper(*args, **kwargs): print("wrapper func args:",*args, **kwargs) if auth_type == "local": username = input("input your username:").strip() password = input("input your password:").strip() if user == username and passwd == password: res = func(*args, **kwargs) print("--------------after login----------------") return res else: exit("wrong username or password") elif auth_type == "ldap": print("ldap认证方式") return wrapper return outer_wrapper def index(): print("welcome to index") @auth(auth_type = "local") def home(): print("wlcome to home") return "from home" @auth(auth_type = "ldap") def bbs(): print("welcome to bbs") index() home() bbs()
以上是关于python装饰器的主要内容,如果未能解决你的问题,请参考以下文章