[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