运算符重载

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

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

常见的运算符重载标识符:
python学习笔记22(运算符重载)
python学习笔记22(运算符重载)

相关文章:

  • 2019-07-06
  • 2021-04-18
  • 2022-01-09
  • 2022-01-19
  • 2021-11-19
  • 2021-09-17
  • 2021-11-14
  • 2019-07-11
猜你喜欢
  • 2021-11-17
  • 2020-04-23
  • 2021-11-23
  • 2021-09-11
  • 2021-10-20
  • 2021-11-25
  • 2021-05-10
相关资源
相似解决方案