replace
文字列に含まれるすべてのメソッド ( 、など)を作成したクラスを提供したいと考えていますisupper
。以下にコード例を示します。
>>> class MyClass(str):
... def __init__(self, string):
... self.string = string
... def __str__(self):
... return self.string
...
>>> MyClass("aaa").replace("a", "$")
'$$$'
>>>
これは、私が望むとおりに機能します。ただし、から継承する方法について少し混乱していますstr
。上記のように行うか、次のようにします。
class MyClass(__builtins__.str):
...
あるいは:
import types
class MyClass(types.__builtins__["str"]):
要約すると、私の質問は次のとおりです。継承する最良の方法は何str
ですか(またはその点で他の組み込み)?私はそれを与えましたか、それとも私が考えていないより良い方法がありますか.
ありがとう。