简单聊聊Python中的魔术方法
前言
这篇文章来源于公众号后台的留言,大概是说类中很多魔术方法,能不能总结一下,所以这篇文章就来了。
魔术方法
Python中魔术方法确实很多,这一期我也不打算全部列出来给大家,也不会详细介绍相关使用方法(因为很多都已经讲解过,买讲解的后期也会讲解)。
魔术方法有分运算符相关,这期只是讲解与运算符不相关的(相关的例如__add__),也是大家比较感兴趣的。
字符串/字节序列表示相关:__repr__、__str__,__format__,__bytes__。这些主要是做一些格式化的操作。
数值转换:__abs__、__bool__、__complex__、__int__、__float__、__hash__、__index__。我想这些大家都很熟悉,就不过多介绍了。
集合模拟:__len__、__getitem__、__setitem__、__delitem__、__contains__。我们用的列表就包括了这些方法。
迭代枚举:__iter__、__reversed__、__next__。主要用于迭代器和生成器,以后我们单独拿来讲解。
可调用模拟:__call__。我在元类中分享过,主要是加上括号就能触发调用,大家感兴趣可以去看看那篇文章。
上下文管理:__enter__、__exit__。大家还记得with读取文件吗,其实就是上下文管理器。
实例创建和销毁:__new__、__init__、__del__。这些都是创建类中常常使用的,我在类和元类文章中都有讲解。
属性相关:__getattribute__、__getattr__、__setattr__、__delattr__、__setattr__、__dir__。这五个方法我单独写过一篇文章,主要是用于操作属性的。
属性描述符:__get__、__set__、__del__。用来定义属性描述符,也写过文章。
今天的分享就到这了,我们下期再见~
相关文章
- Python使用tkinter组件Label显示简单数学公式
- 内网渗透之DCOM横向移动
- 以目标为导向的语义交流的共同语言——一个课程学习框架
- python爬虫前奏【成信笔记】
- HTML 5 File API:文件拖放上传功能
- 教你快速创建 Python 虚拟环境
- pyenv 实现Python多版本自由切换
- 用 Python 对 Excel文件进行批量操作
- Python - 接入钉钉机器人
- Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务
- crontab - 解决 mac 下通过 crontab 设置了 Python 脚本的定时任务却无法运行
- [源码解析] PyTorch分布式(5) ------ DistributedDataParallel 总述&如何使用
- Python科普系列——类与方法(上篇)
- SAP对STO的交货单执行PGI,报错 -Fld selectn for mvmt type 643 acct 400020 differs
- Spring Boot 实现通用 Auth 认证的 4 种方式
- 盘点4种使用Python批量合并同一文件夹内所有子文件夹下的Excel文件内所有Sheet数据
- OushuDB 学习经验分享(三):技术特点
- Java和Python思维方式的不同之处
- Python中日志记录新技能
- 奥比中光Gemini OpenCV—Python使用