repr()でわからないこと
こちらのサイトで、
repr() メソッドを定義することで、この関数によりそのクラスのインスタンスが返すものを制御することができます。
とありました。また、同じサイトで
object.str(self)
オブジェクトの「非公式の (informal)」あるいは表示に適した文字列表現を計算するために、 str(object) と組み込み関数 format(), print() によって呼ばれます。戻り値は string オブジェクトでなければなりません。
str() が有効な Python 表現を返すことが期待されないという点で、このメソッドは object.repr() とは異なります: より便利な、または簡潔な表現を使用することができます。
とあります。
python
1def __str__(self): 2return repr(self.value)
の処理はどうなるのでしょうか?
下のプログラムは上でわからない部分のある参考にしたプログラムの一部です。
python
1 2class IOException(Exception): 3 #__int__(self):int()関数を使うときに呼び出されるメソッド 4 def __init__(self, value): 5 self.value = value 6 #__str__(self):str()関数,組み込み関数 format(), print() を使うときに呼び出されるメソッド 7 def __str__(self): 8 #repr()は引数付きのコンストラクタ(または初期化子)を文字列で返してくれる関数 9 return repr(self.value)
回答2件
あなたの回答
tips
プレビュー