python运算符在哪里定义?

问题描述 投票:0回答:1

在哪里定义了+,-,*等python运算符?我是新手,因此请对此问题提供详细的答案。

python operators
1个回答
1
投票

每个Python类都有定义其行为的内置方法(可以在名称的开头和结尾用“ __”识别)。例如,在对象上使用print()时,将调用内置的__str__函数,并且每个类的功能都不同。您可以使用自己的实现覆盖这些功能。

这里是一个名为CarCollection的类:

class CarCollection():
    def __init__(self, car_list):
        self.cars_in_collection = car_list

例如,您想将两个集合一起添加。在此类的两个实例之间使用“ +”将引发TypeError: unsupported operand type(s) for +: 'instance' and 'instance',因此,为了将两个集合加在一起,您需要覆盖__add__函数:

    def __add__(self, other_car_collection):
        return self.cars_in_collection + other.cars_in_collection()

现在将两个集合加在一起并打印结果时,它将看起来像这样:

first_collection = CarCollection(["subaru", "ferrari"])
second_collection = CarCollection(["fiat", "renault"])
print(second_collection + first_collection)

输出:subaru, ferrari, fiat, renault

© www.soinside.com 2019 - 2024. All rights reserved.