Is it possible to overload ++ operators in Python?
There is no ++ operator in Python (nor '--'). Incrementing is usually done with the += operator instead.
Nope, it is not possible to overload the unary ++ operator, because it is not an operator at all in Python.
Only (a subset of) the operators that are allowed by the Python syntax (those operators that already have one or more uses in the language) may be overloaded.
These are valid Python operators, and this page lists the methods that you can define to overload them (the ones with two leading and trailing underscores).
Instead of i++ as commonly used in other languages, in Python one writes i += 1.
In python the + sign needs an operand to its right. It may also have an operand to its left, in which case it will be interpreted as a binary instead of a unary operator. +5, ++5, ..., ++++++5 are all valid Python expressions (all evaluating to 5), as are 7 + 5, 7 ++ 5, ..., 7 ++++++++ 5 (all evaluating to 7 + (+...+5) = 12). 5+ is not valid Python. See also this question.
Alternative idea: Depending on what you actually wanted to use the ++ operator for, you may want to consider overloading the unary (prefix) plus operator. Note, thought, that this may lead to some odd looking code. Other people looking at your code would probably assume it's a no-op and be confused.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With