Ethan Furman wrote:

Anybody have an example of when the unary + actually does something?
Besides the below Decimal example.  I'm curious under what circumstances
it would be useful for more than just completeness (although
completeness for it's own sake is important, IMO).

All true operators and some built-in functions translate to special method calls.
-x == x.__neg__() == type(x).__neg__(x) == x.__class__.__neg__(x)

What should happen to '+x'? Raise SyntaxError? Ignore the '+'? Or translate it to __pos__ in analogy with '-' and __neg__? Guido made the third choice: partly for consistency perhaps, but also for the benefit of user-written classes. Decimal started as user-contributed decimal.py.

Does anything else use this hook? I don't know, but I do know that there are periodic demands for *more* operators for user use. So I expect it has been.

tjr

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to