十六、python 特殊方法、运算符重载
运算符重载
1、构造函数、析构函数
__new__ 、 __init__ 、 __del__
2、四则运算 +-*/
__add__ 、 __sub__ 、 __mul__ 、 __div__
3、比较
__it__ 、 __gt__ 、 __cmp__
4、其它
__str__ 、 __repr__ 、 __conains__ 、 __bool__
------------------------------------------------------------------------------------------------------------------------
#特殊方法
def __str__(self): #该方法用于类中的print
return 'Id={0} Name={1} Email={2}'.format(self.Id,self.Name,self.Email)
def __repr__(self): #该方法用于交互式中的类打印,要没有实现,交互式中输入类对象,将会打印地址
return 'Id={0}'.format(self.Id)
def __add__(self, other): #用于类中连个对象对应的属性相加
return self.Id + other.Id
def __lt__(self, other): #返回boolean,只用于类、交互式中
return self.Id < other.Id
#调用方法 __str__
print bjaidon #要没有实现__str__方法将会打印地址
print bjbajie
#交互式中输
入对象验证__repr__
bjaidon
print bjaidon + bjbajie #两个的Id值相加
bjaidon + bjbajie
print bjaidon < bjbajie
bjaidon < bjbajie