はのは、私は/にはいくつかのメソッドをオーバーライドする実装str
から派生したカスタムクラスがあるとしましょう:Pythonでカスタム文字列リテラルプレフィックスを作ることは可能ですか?
class mystr(str):
# just an example for a custom method:
def something(self):
return "anything"
は、今現在、私は手動でそれをコンストラクタに文字列を渡すことでmystr
のインスタンスを作成する必要があります。
ms1 = mystr("my string")
s = "another string"
ms2 = mystr(s)
これはそれほど悪いことではありませんが、b'bytes string'
またはr'raw string'
またはu'unicode string'
に似たカスタム文字列プレフィックスを使用することは賢明であるという考えにつながります。
それはmystr
の新しいインスタンスでリテラルm'my string'
結果となるようm
のようなカスタム文字列リテラルの接頭辞を登録/作成するために、Pythonで何とか可能ですか?
これらのプレフィックスはPythonインタプリタにハードコードされていますか?
残念ながら、いいえ、インタプリタを変更したり、自分でコンパイルしたりすることはありません。興味深いことに、これは[ECMAScriptが将来行うことができる](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#Tagged_template_literals)です。 –