类的运算符

Posted liyanyan665

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类的运算符相关的知识,希望对你有一定的参考价值。

比较运算符
__cmp__(self, other) : 包含两个对象比较的所有情况
__eq__(self, other) : 判断两个对象是否相等
__It__(self, other) : 判断前者是否小于后者
__gt__(self, other) : 判断前者是否大于后者
数字运算符
__add__(self, other) : 加
__sub__(self, other) : 减
__mul__(self, other) : 乘
__div__(self, other) : 除
逻辑运算符
__or__(self, other) : 或运算
__and__(self, other) : 和运算
实例
class Program(object):

def __init__(self, name, age):
self.name = name
if isinstance(age, int):
self.age = age
else:
raise Exception("age must be int")

def __eq__(self, other):
if isinstance(other, Program):
if self.age == other.age:
return True
else:
return False
else:
raise Exception("the type of object must be Program")

def __add__(self, other):
if isinstance(other, Program):
return self.age + other.age
else:
raise Exception("the type of object must be Program")


if __name__ == ‘__main__‘:
p1 = Program(‘mike‘, 21)
p2 = Program(‘john‘, 20)
print(p1 == p2)
print(p1 + p2)
—————————————

以上是关于类的运算符的主要内容,如果未能解决你的问题,请参考以下文章

包含指向派生模板类的基类指针的类的赋值运算符和复制构造函数

如何使用父类的运算符? [复制]

如何重载模板类的“新”运算符?

sdut 4-1 复数类的运算符重载

模板类的重载赋值运算符

C++类和对象 - 日期类的实现