My python understanding just had a minor setback...

I've found an example of overloading on the net.
and I really can't understand why and how this works... :S
could someone please just give me a simple explaination?(without too many fancy words please)

You want to add two length units. There you'd define an __add__ method and the return value wouldn't be a number, you'd return a new instance of that class. Shown in repaired previous post. Let's examine strings before my example becomes too complicated. Both __mul__ and __rmul__ must be defined for str type, but str should not support division (or subtraction).