2

少し前に質問をしましたが、多くの人からに変更__str__()するように言われましたstr(some object)

例えば:

e_address   = f_name+l_name+year.__str__()+day.__str__()

への変更 :

e_address   = f_name+l_name+str(year)+str(day)

だから私の質問はなぜそれが良いのですか?パフォーマンスの違いはありますか、それともよりPython的なプログラミング方法ですか?

4

2 に答える 2

8

__str__()str()存在する場合に呼び出すフックメソッドです。そのstr()ようなメソッドが定義されていない場合、関数は適切なデフォルトにフォールバックします。フックはデフォルトの動作をオーバーライドするためにあり、常に実装されていると想定するべきではありません。

さらに、str()callableを使用する方が読みやすくなります。

于 2012-12-11T22:55:50.533 に答える
4

タイピングが少なく、コードが読みやすくなっています。

于 2012-12-11T22:56:05.407 に答える