エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
Javaだとよくビルダーメソッドをstaticで定義するけど、Pythonの場合はできるだけクラスメソッドを使っ... Javaだとよくビルダーメソッドをstaticで定義するけど、Pythonの場合はできるだけクラスメソッドを使った方が良いだろう。 例えば、float.fromhex http://docs.python.org/library/stdtypes.html#float.fromhex はクラスメソッドなので、 >>> class Foo(float): ... pass ... >>> foo = Foo.fromhex('0x1p-1') >>> type(foo) <class '__main__.Foo'> ビルダーメソッドを子クラスでも利用できる。 もちろん、ビルダーメソッドが子クラスでも妥当であるかどうかは子クラス次第なんだけど、妥当でない場合は子クラスでオーバーライドしたらいいだけの話なので、子クラスでも使えるようにクラスメソッドにしておいて損は無い。