[Python-Dev] Why not support user defined operator overloading ?

Stephen J. Turnbull stephen at xemacs.org
Sun Sep 29 19:03:57 CEST 2013


张佩佩 writes:

 > If we can overloading these operators, why we can't overloading
 > other operators?  (like .* often used in matrix, U in set
 > operation)

AIUI, it's considered unpythonic.  Operators are considered to be part
of the *syntax* of Python, unlike Haskell, where infix syntax can be
used for any function, and operators can be called via function
syntax.  (The latter is true in Python as well, but it is very bad
form to do that, sufficiently verbose that it is hardly tempting, and
it can easily fail because Python operators are polymorphic, but the
implementations via class methods are not.)

I'm sure it also simplifies parsing.



More information about the Python-Dev mailing list