python 特殊方法(dunder-getitem)
python的特殊方法使得python的编程方式更加的统一规范。
python的特殊方法是被python解释器直接调用的,我们不需要直接调用它。也就是说部能写成object.len(),而应该写成len(object)。len()会直接调用object.__len()__方法。
如果是python的内置类型,比如list/str/bytearray,Cpython会直接读取PyVarObject的ob_size的属性。
for i in x这个语句背后调用的是x.iter()方法
非计算的特殊方法
类型 | 特殊方法 |
---|---|
字符串/字节序列表示形式 |
__repr__ , __str__ , __format__ , __bytes__
|
数值转换 |
__abs__ , __bool__ , __complex__ , __int__ , __float__ , __hash__ ,__index__
|
集合模拟 |
__len__ , __getitem__ , __setitem__ , __delitem__ , __contains__
|
迭代 |
__iter__ , __reversed__ , __next__
|
可调用模拟 |
__call__
|
上下文管理 |
__enter__ , __exit__
|
实例创建和销毁 |
__new__ , __init__ , __del__
|
属性管理 |
__getattr__ , __getattribute__ , __setattr__ , __delattr__ , __dir__
|
属性描述符 |
__get__ , __set__ , __delete__
|
跟类相关的服务 |
__prepare__ , __instancecheck__ , __subclasscheck__
|
参考:
https://rszalski.github.io/magicmethods/
python 特殊方法(dunder-getitem)相关推荐
- python魔方方法__getitem__、__setitem__和__len__
python魔方方法__getitem__.setitem__和__len 目录 python魔方方法__getitem__.__setitem__和__len__ 一.简介 二.详解 三.代码 四. ...
- Python ljust()方法
描述 Python ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串.如果指定的长度小于原字符串的长度则返回原字符串. 语法 ljust()方法语法: str.ljust ...
- Python join()方法
描述 Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串. 语法 join()方法语法: str.join(sequence).join(sequence) 参数 s ...
- Python maketrans() 方法
描述 Python maketrans() 方法用于给 translate() 方法创建字符映射转换表. 可以只接受一个参数,此时这个参数是个字典类型(暂不研究这种情况). 对于接受两个参数的最简单的 ...
- python count()方法
Python count() 方法 | 菜鸟教程 可以统计一个字符串里含有子字符串的个数 频次
- Python rstrip()方法 删除 string 字符串末尾的指定字符(默认为空格).
Python rstrip()方法 Python 字符串 描述 Python rstrip() 删除 string 字符串末尾的指定字符(默认为空格). 语法 rstrip()方法语法: str.r ...
- vscode使用教程python-如何在VSCode上轻松舒适的配置Python的方法步骤
前言 之前被学长推荐使用了VSCode,后惊叹了VSCode的强大,尤其是他的配置,比之前使用sublime方便多了,刚好实验室也来了一批新的学弟学妹,来仔细的逐步的讲解一些,在自己的电脑上轻松的配置 ...
- 自学python方法-总算懂得快速学习python的方法
随着Python的进一步发展,越来越多的现成的Python的机器学习的算法已经发布出来.为了可以更好地运用这些机器学习的算法,我们有必要对Python有个初步的了解.以下是小编为你整理的快速学习pyt ...
- python类中方法的执行顺序-浅谈Python的方法解析顺序(MRO)
方法解析顺序, Method Resolution Order 从一段代码开始 考虑下面的情况: class A(object): def foo(self): print('A.foo()') cl ...
- Python 字符串方法详解
Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息. 在编程中,几 ...
最新文章
- python图形缝隙填充_Python,如何缝合图像哪些重叠区域?
- oracle text db2,从Oracle 到DB2(一)
- 走在技术前沿的 iOS 架构实现
- linux系统vmalloc分配过大,Linux内核,iptables和vmalloc大小
- 「Swift」Swift与C++和Python
- python动态生成html报表_Python应用phy模块生成html表格
- x-lite asterisk 成功实现视频通话
- tensorflow训练神经网络时loss出现nan的问题
- html-超链接标签
- 刷新认知!基因表达,男女有别|Science、Cell等发布15篇人类遗传调控新成果
- Win2003的IIS设置
- 从研发到管理,这十大技巧助我提升了领导力
- Kotlin的互操作——Kotlin与Java互相调用
- rsync内网服务器 推送和拉取公网代码配置
- html主题相册代码,使用html+css+js实现3D相册的详细代码
- Error: The method ‘DioHttpHeaders.add‘ has fewer named arguments than those of overridden method
- python写邮箱系统登录_Python selenium登录163邮箱示例
- 一个nginx部署多个项目
- MongoDB:查询文档
- 质量团队在VUCA时代如何走?
热门文章
- Python自动识别多个不完整图像拼接为完整图像
- Python监视电子邮箱并提示收到新邮件
- c语言程序设计李泽中课后,C语言程序设计李泽中课件第4章解读.ppt
- db2如何锁定一张表_DB2数据库为单个会话锁定的技巧
- Mysql 里的约束
- 【数据结构----笔记2】查找算法之【哈希查找或散列查找】
- (C语言)素数是指大于1,且只能被1和它自身整除的正整数。现给定一个范围,请输出在此范围中素数的个数。
- 两表关联更新 mysql_MySQL多表更新(关联表更新)
- 三维重构 c++_桐柏3d打印模型生产厂家【博通三维】-博通三维
- jpg图片使用pil的resize后_刚毕业,求解“pdf转换为jpg”的操作教程