前提
Pythonの演算子オーバーロードについての質問です。int+stringの加法演算子'+'が定義されているプログラミング言語(Javascrpitなど)をPythonに翻訳・実行するプログラムを作成したいのですが、Python内に標準でint+stringの加法演算子が存在せず、実行がうまくできません。
Python内でのint+stringの加法演算子の定義方法が知りたいです(plus(int, str)のような形ではなく、'+'の演算子一つで結合できるようにしたいです)。
ご回答よろしくお願いいたします。
実現したいこと
Pythonにおいては、自作クラスに対して演算子のオーバーロードが可能ですが、これはネイティブな型に対してもオーバーロード可能でしょうか(クラスごとオーバーロードでもいいので、無理やりにでもできないでしょうか)?特に、int型とstring型を文字列結合する際、
Python
1num=10 2txt='は偶数です' 3 4print(str(num)+txt) 5#'10は偶数です'
ではなく、
Python
1######################################## 2# int+stringの演算子のオーバーロード(宣言) # 3######################################## 4 5num=10 6txt='は偶数です' 7 8print(num+txt) 9'10は偶数です'
という記述のみで型のキャスティングなしで文字列結合を行えるようにしたいです。
試したこと
int型を継承した自作クラスIntを作成することでオーバーロードする方法(以下)を試しましたが、結局Int(10)のようにしなければならず、解決には至りませんでした。
Python
1class Int(int): 2 __add__(self, other): 3 if type(other) == str: 4 return str(self)+other 5 if type(other) == int || type(other) == float || type(other) == double: 6 return self+other 7 8n = Int(10) 9s='は偶数です' 10 11print(n+s) 12#10は偶数です 13print(n+10) 14#20

下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。