[Python-Dev] Why not support user defined operator overloading ?
张佩佩
zhangpeipei812 at outlook.com
Mon Sep 30 02:23:12 CEST 2013
Hello:
I agree with Steven D'Aprano.
Here is an example:
class A(object):
def __init__(self, value):
self.value = value
def add(self, other):
return self.value + other.value
__magic_method__ = {'+':add}
a1 = A(1)
a2 = A(2)
We only need a macro expand
a1 + a2
to
a1.__magic__method__['+'](a, b)
the later can be execute on Python.
Regards
peipei
More information about the Python-Dev
mailing list