python装饰器使用说明(详解Python装饰器)
类别:脚本大全 浏览量:1659
时间:2021-10-26 11:07:50 python装饰器使用说明
详解Python装饰器1. 定义
本质是函数,用来装饰其他函数,为其他函数添加附加功能
2. 原则
a. 不能修改被装饰函数的源代码
b. 不能修改被装饰的函数的调用方式
3. 实现装饰器知识储备
a. 函数就是变量
b. 高阶函数
i. 把一个函数当作实参传给另外一个函数,在不修改被装饰函数源代码情况下为其添加功能
ii. 返回值中包含函数名, 不修改函数的调用方式
c. 嵌套函数
高阶函数+嵌套函数==》装饰器
|
# Author: Lockegogo user, passwd = 'LK' , '130914' def auth(auth_type): print ( 'auth func:' , auth_type) def outher_wrapper(func): def wrapper( * args, * * kwargs): print ( 'wrapper func:' , * args, * * kwargs) if auth_type = = 'local' : username = input ( 'username:' ).strip() password = input ( 'password:' ).strip() if user = = username and password = = passwd: print ( '\033[32;1mUser has passed authentication\033[0m' ) res = func( * args, * * kwargs) return res else : exit( '\033[32;1mInvalid Username or password\033[0m' ) elif auth_type = = 'ldap' : print ( 'ldap,不会' ) return wrapper return outher_wrapper def index(): print ( 'welcome to index page' ) @auth (auth_type = 'local' ) # home = outher_wrapper(home) def home(): print ( 'welcome to home page' ) return 'from home' @auth (auth_type = 'ldap' ) def bbs(): print ( 'welcome to bbs page' ) index() print (home()) bbs() Decorator |
以上所述是小编给大家介绍的Python装饰器详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
原文链接:https://www.cnblogs.com/lockegogo/p/10591160.html
您可能感兴趣
- python中迭代器的作用(Python3.5迭代器与生成器用法实例分析)
- python图片识别文字代码(python批量识别图片指定区域文字内容)
- python创建一个xls文件(Python XlsxWriter模块Chart类用法实例分析)
- 怎样在python中散点图(python使用Plotly绘图工具绘制散点图、线形图)
- python调用elasticsearch(Python-ElasticSearch搜索查询的讲解)
- python使用什么函数定义匿名函数(Python匿名函数及应用示例)
- python怎么自动刷抖音(python实现抖音点赞功能)
- python3和python2 兼容(Python2和Python3的共存和切换使用)
- python中创建类的方法(Python中如何导入类示例详解)
- python变量指向讲解(详解python中init方法和随机数方法)
- python发送钉钉消息(钉钉群自定义机器人消息Python封装的实例)
- python怎么去掉字符串的空格(Python切片操作去除字符串首尾的空格)
- pythonselenium接口自动测试(python3+selenium自动化测试框架详解)
- python定时推送邮件(python实现定时压缩指定文件夹发送邮件)
- python数据存取(python异步存储数据详解)
- python中if判断数据类型(基于python if 判断选择结构的实例详解)
- 你怎么忘了是说先爱我(你怎么忘了如何爱我)
- 做技术难吗(技术难不难)
- 林心如是谁(林心如是谁演的)
- 泰国安全吗(泰国安全吗2023)
- 菲律宾安全吗(菲律宾安全吗)
- 泰国旅游攻略(泰国旅游攻略必去景点)
热门推荐
- dede常用变量(dede调用文章第一张图片非缩略图的实现方法)
- 虚拟主机值不值得买(购买虚拟主机10个注意事项)
- html和css制作导航条(使用Html+Css实现简易导航栏功能导航栏遇到鼠标切换背景颜色)
- python怎么导入函数pandas(python将pandas datarame保存为txt文件的实例)
- phptime函数与时区设置(php常用日期时间函数实例小结)
- python中字典的值怎么应用(对python中字典keys,values,items的使用详解)
- sqlserver语句创建窗口布局(SQL Server 2012 开窗函数)
- dockerfile的镜像原理(dockerfile制作apache镜像的方法)
- Jquery中的offset()和position()的区别
- python人脸识别库(20行python代码实现人脸识别)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9