Mathematica では、これを行うことができます
10+10 // Sqrt
20 の平方根を返します。Python をハックして同じことをしようとしています。このような:
10+10 // crazy.sqrt
どのように?crazy
クラスの演算子をオーバーライドします。しかし、それは後置です。そして、これによると
http://rgruet.free.fr/PQR26/PQR2.6.html#SpecialMethods
任意の演算子をオーバーライドしようとすると、常にself <operator> other
そうであるため、前述のケースでは、int、string、およびその他のトンのようなクラスに対してそれを行う必要があります-悪いです。
これを回避する方法はありますか?other
クラスで順序を入れ替えて演算子を再定義したいと思います。(明確化のために編集: 次のようother
にクラスに引数として渡されますself
: self.__ operator __(...,other))