python 特殊方法、运算符重载

十六、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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章