http://xukaizijian.blog.163.com/blog/static/170433119201111894228877/
http://blog.youkuaiyun.com/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) | 把实例对象作为函数调用 |