00.常见的运算符重载方法
方法 重载 调用
__init__ 构造函数 对象建立:X = Class(args)
__del__ 析构函数 X对象收回
__add__ 运算符+ 如果没有__iadd_,X + Y, X += Y
__or__ 运算符|(位OR) 如果没有_ior_,X|Y,X|=Y
__repr__,__str__ 打印,转换 print(x)、repr(x)、str(x)
__call__ 函数调用 X(*args, **kargs)
__getattr__ 点号运算 X.undefined
__setattr__ 属性赋值语句 X.any = value
__delattr__ 属性删除 del X.any
__getattribute__ 属性获取 X.any
__getitem__ 索引运算 X[key],X[i:j],没有__iter__时的for循环和其他迭代器
__setitem__ 索引赋值语句 X[key] = value, X[i:j] = sequence
__delitem__ 索引和分片删除 del X[key], del X[i:j]
__len__ 长度 len(X),如果没有__bool__,真值测试
__bool__ 布尔测试 bool(X),真测试
__lt____gt____le____ge____eq____ne__ 特定的比较  
__radd__ 右侧加法  
__iadd__ 实地加法  
__iter__,__next__ 迭代环境  
__contains__ 成员关系测试  
__index__ 整数值  
__enter__,__exit__ 环境管理器  
__exit__ 环境管理其  
__get__,__set__ 描述符属性  
__delete__    
__new__ 创建 在__nint__之前创建对象

02.Property内置函数允许我们把方法和特定类属性上的获取和设置操作关联起来。
描述符提供了一个协议,把一个类的__get__和__set__方法域对特定类属性的访问关联起来。

01.
__getattr__:时拦截属性点号运算。当通过未定义(不存在)属性名臣和实例进行点号运算时,就会用属性名臣作为字符串调用这个方法。
__setatrr__:会拦截所有属性的赋值语句
__getattribute__:方法拦截所有的属性获取,而不只是那些未定义的
__repr__:返回实例的字符串表达形式的__repr__方法。
__str__
__radd__:+运算符右侧使用实例对象
__iadd__:原处加法
__call__:如果定义了,Python就会未实例应用函数调用表达式运行__call__方法。
__it__:
__gt__:
__bool__:获取一个直接的布尔值,然后,如果没有该方法,就尝试__len__类根据对象的擦汗高难度确定一个真值。
__len__:一个非空对象看作是真
__del__:每当实例产生时,就会调用__init__构造函数。每当实例空间被收回时(在立即收集时),他的对立面__del__,也就是析构函数,就会自动执行。

转载于:https://www.cnblogs.com/aixiaoxiaoyu/p/11238588.html

python学习手册笔记——29.运算符重载相关推荐

  1. 语句与语法笔记:学会python中_doc_和pydoc——python学习手册笔记之3

    标题## 语句与语法:学会python中的_doc_和pydoc--python学习手册笔记之3 光看书不练习很难学好python,光看书不做点学习笔记,恐怕连书本的东西也是半知半解,不知所云.这手册 ...

  2. python数值类型不包含复数_[python学习手册-笔记]003.数值类型

    003.数值类型 ❝ 本系列文章是我个人学习<python学习手册(第五版)>的学习笔记,其中大部分内容为该书的总结和个人理解,小部分内容为相关知识点的扩展. 非商业用途转载请注明作者和出 ...

  3. python学习手册笔记——20.迭代和解析

    00.由于python编程中的一种常见任务,Python最终产生了一种新的表达式--列表解析,它甚至比我们前面学习的工具更灵活.简而言之,列表解析把任一一个表达式而不是一个函数应用于一个迭代对象中的元 ...

  4. python学习手册笔记——22.模块代码编写基础

    00.以.py位后缀名进行保存,任何此类文件都会被自动认为Python模块.在模块顶层指定的所有变量名都会变成器属性(宇模块对象结合的变量名),并且可以导出工客户端来使用. 01.一个文件名就是一个模 ...

  5. 《Python学习手册》读书笔记

    原文地址为: <Python学习手册>读书笔记 之前为了编写一个svm分词的程序而简单学了下Python,觉得Python很好用,想深入并系统学习一下,了解一些机制,因此开始阅读<P ...

  6. Python学习手册(第4版)学习笔记

    Python学习手册(第4版)是学习Python比较好的教程. (具体教程网上去搜,很多!) 由于看的比较快,很多知识记得不是很牢. 记笔记如下,便于一会按内容翻看.(页码是PDF文件的页码,不是书的 ...

  7. python官方手册笔记_Python学习手册笔记

    Python学习手册(原书第4版)Mark Lutz 著 第一部分 使用入门 >> orthogonal >> 交互提示模式下编写代码 >> "%&quo ...

  8. python学习手册条件-Python学习手册(第4版)pdf

    Python学习手册(第4版) 内容简介 <Python学习手册(第4版)>学习Python的主要内建对象类型:数字.列表和字典.使用Python语句创建和处理对象,并且学习Python的 ...

  9. python学习手册中文版免费下载-Python学习手册

    Python学习手册第4 版将帮助你使用Python快速实现这一点,不管你是编程新手还是Python初学者.本书是易于掌握和自学的教程,根据作者Python专家Mark Lutz的著名培训课程编写而成 ...

  10. python学习手册中文版免费下载-Python学习手册 第三版

    <Python学习手册(第3版)>讲述了:Python可移植.功能强大.易于使用,是编写独立应用程序和脚本应用程序的理想选择.无论你是刚接触编程或者刚接触Python,通过学习<Py ...

最新文章

  1. AI产业链全景图!【物联网智商精选】
  2. python调用数据库存储过程_python连接mysql调用存储过程示例
  3. Nginx反向代理WebSocket
  4. linux 暂停一段时间,sleep命令_Linux sleep命令:让程序暂停或休眠一段时间
  5. react antd 动态表单
  6. Eclipse中快速为类提供构造器、get()、set()方法、重写toString()、hasCode()、equals()等
  7. 『设计模式』HR问了我朋友什么是简单工厂模式,竟被质疑是否学过设计模式,是否是计算机专业?
  8. 【原】基础篇:第一篇,本节主要向大家介绍Ext的最基础的话题
  9. iPhone为何优越过 Android呢
  10. 计算机的各种配件知识,菜鸟必读:DIY装机需要知道的一些配件小知识
  11. matlab设计椭圆低通滤波器,基于MATLAB的椭圆数字低通滤波器设计.doc
  12. mysql todate日期格式写法_MYSQL的日期格式date_format用法
  13. xss.haozi.me通关记录
  14. SpringBoot 项目中在Controller 直接调用Mapper,提示:Field mapper in ‘*Controller ‘ required a bean of type ‘*Map
  15. Linux 下的dd命令使用详解以及dd if=/dev/zero of=的含义
  16. 一款纯粹的在线视频App,基于Material Design + MVP + RxJava + Retrofit + Realm
  17. EXPLORATION BY RANDOM NETWORK DISTILLATION (RND)
  18. pyhon扫雷演示与讲解
  19. VC2012/VS2012 MFC串口通讯上位机程序教程笔记(转)
  20. matlab kalman 跟踪,Kalman matlab中基于卡尔曼滤波的目标跟踪程序 272万源代码下载- www.pudn.com...

热门文章

  1. python-图书管理系统4-最终完成界面代码文件
  2. python curl 获取返回值_php curl_exec()函数 CURL获取返回值的方法
  3. redhat enterprise linux5.4.iso,版本有RedHat Enterprise Linux(RHEL)5.4/5.5/5.8/6.0/6.3 ISO镜像文件下载地址...
  4. 计算机仿真期末考试,2015年数学物理建模期末考试试题.docx
  5. nginx反向代理负载均衡简述
  6. DNS Flood Detector让DNS更安全
  7. Ubuntu 12 修改环境变量
  8. 和我一起学Effective Java之创建和销毁对象
  9. 【.bash_profile 与 .bashrc 的区别】
  10. RAC 修改 ASM实例名 的步骤