Using __add__ operator with multiple arguments in Python
No, you can’t use multiple arguments. Python executes each + operator separately, the two + operators are distinct expressions. For your example, object + 1 + 2 really is (object + 1) + 2. If (object + 1) produces an object that has an __add__ method, then Python will call that method for the second operator. You could, for example, return another instance of A here: