`
f002489
  • 浏览: 264135 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Python运算符重载__类常用的内置方法

阅读更多

 

 

http://xukaizijian.blog.163.com/blog/static/170433119201111894228877/

 

http://blog.csdn.net/adupt/archive/2009/09/14/4551910.aspx

 

 

 

在Python语言中提供了类似于C++的运算符重在功能:
一下为Python运算符重在调用的方法如下:
Method        Overloads        Call for
__init__        构造函数        X=Class()
__del__        析构函数        对象销毁
__add__        +                X+Y,X+=Y
__or__        |                X|Y,X|=Y
__repr__        打印转换        print X,repr(X)
__str__        打印转换        print X,str(X)
__call__        调用函数        X()
__getattr_    限制            X.undefine
__setattr__    取值            X.any=value
__getitem__    索引            X[key],
                            
__len__        长度            len(X)
__cmp__        比较            X==Y,X<Y
__lt__        小于            X<Y
__eq__        等于            X=Y
__radd__        Right-Side +        +X
__iadd__        +=                X+=Y
__iter__        迭代            For In

 

 内置方法  说明
 __init__(self,...)  初始化对象,在创建新对象时调用
 __del__(self)  释放对象,在对象被删除之前调用
 __new__(cls,*args,**kwd)  实例的生成操作
 __str__(self)  在使用print语句时被调用
 __getitem__(self,key)  获取序列的索引key对应的值,等价于seq[key]
 __len__(self)  在调用内联函数len()时被调用
 __cmp__(stc,dst)  比较两个对象src和dst
 __getattr__(s,name)  获取属性的值
 __setattr__(s,name,value)  设置属性的值
 __delattr__(s,name)  删除name属性
 __getattribute__()  __getattribute__()功能与__getattr__()类似
 __gt__(self,other)  判断self对象是否大于other对象
 __lt__(slef,other)  判断self对象是否小于other对象
 __ge__(slef,other)  判断self对象是否大于或者等于other对象
 __le__(slef,other)  判断self对象是否小于或者等于other对象
 __eq__(slef,other)  判断self对象是否等于other对象
 __call__(self,*args)  把实例对象作为函数调用
分享到:
评论

相关推荐

    Python运算符重载详解及实例代码

    Python运算符重载  Python语言提供了运算符重载功能,增强了语言的灵活性,这一点与C++有点类似又有些不同。鉴于它的特殊性,今天就来讨论一下Python运算符重载。  Python语言本身提供了很多魔法方法,它的运算符...

    Python3 操作符重载方法示例

    实际上,“运算符重载”只是意味着在类方法中拦截内置的操作……当类的实例出现在内置操作中,Python自动调用你的方法,并且你的方法的返回值变成了相应操作的结果。以下是对重载的关键概念的复习: 运算符重载让类...

    Python实现扩展内置类型的方法分析

    本文实例讲述了Python实现扩展内置类型...下面例子通过将list对象作为嵌入类型,实现集合对象,并增加了一下运算符重载。这个类知识包装了Python的列表,以及附加的集合运算。 class Set: def __init__(self, value=

    2019千峰Python超详细入门教程(百度云盘分享).docx

    ├─千锋Python教程:第09章 模块&包&常用模块&三方模块(14集) │ 千锋Python教程:51.系统模块&自定义模块&包1.mp4 │ 千锋Python教程:52.系统模块&自定义模块&包2.mp4 │ 千锋Python教程:53.系统模块&自定义...

    python3代码中实现加法重载的实例

    我们想要知道数目的总和,只要通过+就能实现,这是我们在做题上经常用到的符号。但是在python中不能直接使用,我们需要借助一些代码或者函数帮助我们实现对象的相加。那么实现加法需要用到什么呢?...不能重载内置类

    Python扩展内置类型详解

    下例把一些集合函数变成方法,而且新增了一些基本运算符重载,实现了新的集合对象。对于多数类而言,这个类只是包装了Python列表,以及附加的集合运算。 #File setwrapper.py class Set: def __init__(self,value...

    python基础知识归纳及实例(全面).zip

    python注释问题、关键字、基本数据类型、数据类型、数学功能、运算符/表达式、if/for/while等语句、(列表、集合、元组、字典)的使用及其各自中的方法、迭代器、各类函数(递归、回调等)、变量作用域、装饰器、栈/...

    程序员考试刷题-Kaggle-Python:Kaggle-Python

    进入外部库世界的导入、运算符重载和生存技巧 Python网 Python 教程:3.9 Python 教程:3.8.7 Python 是一种易于学习、功能强大的编程语言。 它具有高效的高级数据结构和简单但有效的面向对象编程方法。 Python 优雅...

    使用 \(左除法)的良好 sprintf 语法:重载元胞数组 '\' 运算符以获得良好的 sprintf 语法-matlab开发

    当你学习 python 时,你开始嫉妒 python (%) 中漂亮的内置 printf 插值运算符。 通过重载元胞数组 \ 运算符,这在 matlab 中实现了相同的效果。 老的: &gt;&gt; sprintf('%s %.2f', '你好', pi) 新的: &gt;&gt; '%s %.2f' ...

    vector-geometry

    在实现Anderem,Benutzerfreundliche Implementierung和Ziel war之后,还集成了Python语法中的集成语法,Hilfe von sogenannten神奇的功能和dem运算符重载。 因此,Banspiel der Betrag des Vektors A durch ...

    vector-operations

    在实现Anderem,Benutzerfreundliche Implementierung和Ziel war之后,还集成了Python语法中的集成语法,Hilfe von sogenannten神奇的功能和dem运算符重载。 因此,Banspiel der Betrag des Vektors A durch ...

    python2017:CTE Python 2017课程内容

    内置数据类型和运算符 第二周 清单和切片条件循环和For循环理解和字典 第三周 功能介绍模块化编程 第四周 类和对象继承,重载和覆盖 第五周 多态性装饰器,多重继承 第六周 Git / Github和基本Unix 第七周 单元测试...

    leetcode题目列表-PythonZeroToAll:PythonZeroToAll

    leetcode 题目列表PythonZeroToAll 目录 Lab1 简介 &gt; 数据类型、I/O、导入、运算符 &gt; 流量控制:if-else、...对象、类、继承、重载 Lab6 进阶课题 &gt; 关闭、装饰器等 Lab7 Numpy 参考 学习使用 Python 编程 (Irv Kalb)

Global site tag (gtag.js) - Google Analytics