python学习笔记22(运算符重载)

运算符重载

不同类型的对象之间的运算符会有不同的解释,如:

print(1 + 2)
print("1" + "2")
#不同的类型用加法会有不同的解释

利用运算符重载实现两个字符串数字相加

class Person(object):
    def __init__(self, num):
        self.num = num
    #运算符重载
    def __add__(self, other):    #定义加法运算,有加号时自动调用
        return Person(self.num + other.num)   #返回两个对象里的num相加的值
    def __str__(self):    #print时自动调用
        return "num = " + str(self.num)    #要转化成字符串,保证输出内容的格式前后一致
per1 = Person(1)
per2 = Person(2)
print(per1 + per2)#per1 + per2 ==== per1.__add__(per2)
#输出: num = 3
#print(per1.__add__(per2))
print(per1)
#输出:num = 1
print(per2)
#输出:num = 2

常见的运算符重载标识符:
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42216171/article/details/86017424