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)相关推荐

  1. python魔方方法__getitem__、__setitem__和__len__

    python魔方方法__getitem__.setitem__和__len 目录 python魔方方法__getitem__.__setitem__和__len__ 一.简介 二.详解 三.代码 四. ...

  2. Python ljust()方法

    描述 Python ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串.如果指定的长度小于原字符串的长度则返回原字符串. 语法 ljust()方法语法: str.ljust ...

  3. Python join()方法

    描述 Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串. 语法 join()方法语法: str.join(sequence).join(sequence) 参数 s ...

  4. Python maketrans() 方法

    描述 Python maketrans() 方法用于给 translate() 方法创建字符映射转换表. 可以只接受一个参数,此时这个参数是个字典类型(暂不研究这种情况). 对于接受两个参数的最简单的 ...

  5. python count()方法

    Python count() 方法 | 菜鸟教程 可以统计一个字符串里含有子字符串的个数  频次

  6. Python rstrip()方法 删除 string 字符串末尾的指定字符(默认为空格).

    Python rstrip()方法  Python 字符串 描述 Python rstrip() 删除 string 字符串末尾的指定字符(默认为空格). 语法 rstrip()方法语法: str.r ...

  7. vscode使用教程python-如何在VSCode上轻松舒适的配置Python的方法步骤

    前言 之前被学长推荐使用了VSCode,后惊叹了VSCode的强大,尤其是他的配置,比之前使用sublime方便多了,刚好实验室也来了一批新的学弟学妹,来仔细的逐步的讲解一些,在自己的电脑上轻松的配置 ...

  8. 自学python方法-总算懂得快速学习python的方法

    随着Python的进一步发展,越来越多的现成的Python的机器学习的算法已经发布出来.为了可以更好地运用这些机器学习的算法,我们有必要对Python有个初步的了解.以下是小编为你整理的快速学习pyt ...

  9. python类中方法的执行顺序-浅谈Python的方法解析顺序(MRO)

    方法解析顺序, Method Resolution Order 从一段代码开始 考虑下面的情况: class A(object): def foo(self): print('A.foo()') cl ...

  10. Python 字符串方法详解

    Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息. 在编程中,几 ...

最新文章

  1. python图形缝隙填充_Python,如何缝合图像哪些重叠区域?
  2. oracle text db2,从Oracle 到DB2(一)
  3. 走在技术前沿的 iOS 架构实现
  4. linux系统vmalloc分配过大,Linux内核,iptables和vmalloc大小
  5. 「Swift」Swift与C++和Python
  6. python动态生成html报表_Python应用phy模块生成html表格
  7. x-lite asterisk 成功实现视频通话
  8. tensorflow训练神经网络时loss出现nan的问题
  9. html-超链接标签
  10. 刷新认知!基因表达,男女有别|Science、Cell等发布15篇人类遗传调控新成果
  11. Win2003的IIS设置
  12. 从研发到管理,这十大技巧助我提升了领导力
  13. Kotlin的互操作——Kotlin与Java互相调用
  14. rsync内网服务器 推送和拉取公网代码配置
  15. html主题相册代码,使用html+css+js实现3D相册的详细代码
  16. Error: The method ‘DioHttpHeaders.add‘ has fewer named arguments than those of overridden method
  17. python写邮箱系统登录_Python selenium登录163邮箱示例
  18. 一个nginx部署多个项目
  19. MongoDB:查询文档
  20. 质量团队在VUCA时代如何走?

热门文章

  1. Python自动识别多个不完整图像拼接为完整图像
  2. Python监视电子邮箱并提示收到新邮件
  3. c语言程序设计李泽中课后,C语言程序设计李泽中课件第4章解读.ppt
  4. db2如何锁定一张表_DB2数据库为单个会话锁定的技巧
  5. Mysql 里的约束
  6. 【数据结构----笔记2】查找算法之【哈希查找或散列查找】
  7. (C语言)素数是指大于1,且只能被1和它自身整除的正整数。现给定一个范围,请输出在此范围中素数的个数。
  8. 两表关联更新 mysql_MySQL多表更新(关联表更新)
  9. 三维重构 c++_桐柏3d打印模型生产厂家【博通三维】-博通三维
  10. jpg图片使用pil的resize后_刚毕业,求解“pdf转换为jpg”的操作教程