任何人都可以用简单的词语解释我的魔术方法和运算符重载吗?

时间:2017-11-24 05:05:03

标签: python selenium-webdriver magic-methods

我无法理解__add__ / __sub__方法,他们为什么需要它们,它们如何工作以及重载概念,谢谢

1 个答案:

答案 0 :(得分:1)

它让您的生活变得轻松,让您的代码更具人性化。请看一下我为您理解的简单用例。

class Car:
    def __init__(self):
        self.__total = 0

    def buy(self, count):
        self.__total += count

    def __add__(self, other):
        return self.total + other.total

    @property
    def total(self):
        return self.__total


toyota = Car()
honda = Car()

toyota.buy(3)
print(toyota.total)  # prints 3

honda.buy(5)
print(honda.total)  # prints 5

car_total = honda + toyota
print(car_total)  # prints 8