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装饰器的主要内容,如果未能解决你的问题,请参考以下文章

[TimLinux] Python 装饰器

python装饰器

python装饰器关键代码

Python装饰器

python之装饰器

python 装饰器