Python から、次のように演算子をオーバーロードできます。
class X:
def __add__(self, i):
return i+3;
def __radd__(self, i):
return i+4
x = X()
print x+0 # prints 3
print 0+x # prints 4
X を C 拡張モジュールに実装したい場合は、演算子のオーバーロードを明示的に登録する必要があります。__add__ は実行可能です:
X_type.tp_as_number.nb_add = &X_add;
しかし、__radd__ に対応するスロットはないようです。それはどこにある?