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
您可能感兴趣
- python3和python区别(Python2与Python3的区别实例总结)
- pythonlist列表讲解(Python中将两个或多个list合成一个list的方法小结)
- python的turtle库怎么进入(python的turtle库使用详解)
- python怎么提取微信数据(使用Python+wxpy 找出微信里把你删除的好友实例)
- python3yield使用教程(python中yield的用法详解——最简单,最清晰的解释)
- python选择语句形式判断回文数(Python3实现的回文数判断及罗马数字转整数算法示例)
- python集合类(Python数据类型之Set集合实例详解)
- python3列表的使用教程(对Python3 pyc 文件的使用详解)
- python里range循环(Python for循环与range函数的使用详解)
- python读取文件的方法和区别(浅谈PYTHON 关于文件的操作)
- python面向对象练习方法(Python面向对象实现一个对象调用另一个对象操作示例)
- python参模块使用教程(Python参数解析模块sys、getopt、argparse使用与对比分析)
- 使用python编辑个人名片(python实现名片管理系统项目)
- 学会python一月能赚多少钱(学习python的前途 python挣钱)
- python装饰器使用说明(详解Python装饰器)
- python获取网关ip地址(python实现扫描局域网指定网段ip的方法)
- 《无敌破坏王2》 不聊彩蛋,聊聊我从动画里看到的现实那些事儿(无敌破坏王2不聊彩蛋)
- 《寄生虫》 三观不正 人类悲欢从来不相通,感同身受也并非本能(寄生虫三观不正)
- 这部动漫中的女孩子,可比101女孩更加励志(这部动漫中的女孩子)
- 《白狐的人生》热拍 贾征宇偶像包袱难自弃 图(白狐的人生热拍)
- 七夕取消了,牛郎织女没做核酸七夕已经取消(牛郎织女没做核酸七夕已经取消)
- 网友抵制 多地取消 夏日祭 为何惹众怒(网友抵制多地取消)
热门推荐
- 在php中与数据库连接的技术(PHP7.0连接DB操作实例分析基于mysqli)
- mysql锁技术(MySQL 加锁控制并发的方法)
- sqlserver数据回退(SQLServer数据库处于恢复挂起状态的解决办法)
- python解析excel例子(Python玩转Excel的读写改实例)
- 腾讯云轻量和cvm的区别(腾讯云服务器CVM的购买及简单评测分析)
- 云主机越来越受欢迎吗(选择香港云主机的三个理由)
- php各种绕过姿势(php面试实现反射注入的详细方法)
- php常驻进程(PHP 多进程与信号中断实现多任务常驻内存管理实例方法)
- 使用vue-cli构建electron项目(MAC+PyCharm+Flask+Vue.js搭建系统)
- mysql锁机制图解(详解mysql 中的锁结构)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9