問題タブ [python-datamodel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - __format__ の適切な使用
__str__
整数値を 16 進数で返すように定義するクラス__format__
と、ユーザーの形式仕様でフォーマットされた値を返すように定義するクラスがあります。
だから私は期待します:
と
しかし、str.format
呼び出しはフォーマット仕様を返すだけです04X
. 私は何を間違っていますか?
python - str() が __getattribute__ を使用して __str__ を取得しないのはなぜですか? また、その効果を生み出す方法は?
str()
オーバーロードされたメソッドを持つオブジェクトを呼び出すと、__getattribute__
それを使用していないようで、代わりに__str__
直接呼び出します。変更する必要がある他の機能や、それを使用する方法はあります__getattribute__
か? 直接オーバーロード__str__
すると、期待どおりに動作しますが、それは私のニーズには理想的ではありません。
出力:
< main .A object at 0x000001FDF7AEA760>
< main .A object at 0x000001FDF7AEA760>
こんにちは
期待される出力:
ハロー
ハロー
ハロー