Remix.run Logo
Overloaded Overloading(powerfulpython.com)
19 points by redsymbol 4 days ago | 5 comments
reichstein 4 minutes ago | parent | next [-]

So the `+` is not _overloaded_, the `+` syntax is a shorthand for calling a method named `__add__` on the value of the first operand, with the value of the second operand as an argument . That is: `e1 + e2` is syntactic sugar for `e1.__add__(e2)`, no more and no less.

It's not "operator overloading" any more than two _different_ classes having a `length` property is "length overloading".

Using the term "operator overloading" to begin with is the error here.

rf15 an hour ago | parent | prev | next [-]

Good introduction to the space in Python (although a lot of languages have it, and just as many disallow it). I'm still on the fence regarding how useful or confusing it is. without (or even with) good variable names, "a + b" is an absolute mystery, especially when handling objects that come from classes you have no detailed internal understanding of.

sigmoid10 an hour ago | parent [-]

I feel like it is on you to understand these classes first though. In game engine programming, operator overloading is often just vector algebra. If you have no idea how matrix-vector multiplication works, then you have no business doing those things anyway, overloaded operator or not. But if you do understand it, it makes your code infinitely more readable than without overloading. And everyone with a math education will also understand that aspect of your code, no matter if they are familiar with your usual paradigms.

hnd9q09qk4 an hour ago | parent | prev [-]

This aged well

smitty1e 41 minutes ago | parent [-]

No, no, TFA is about python:

"self" aged well.