クラスを初期化するためのベスト プラクティスについて質問があります。複雑で多くのメンバーを持つクラスを考えてみましょう。の外でそれらを初期化するのは悪い習慣ですが、膨大な方法__init__()
を使わずに問題を処理するにはどうすればよいですか。__init__()
例:
class A:
def __init__(self):
self.member0 = "a"
# to prevent that the init method gets too big
# put some initialisation outside
init_other_stuff()
def init_other_stuff(self):
self.member1 = "b"
self.member2 = "c"
...
前もって感謝します。
[更新]明確にする。もちろん、目標は別の長いメソッドに入れることではありません。代わりに、初期化を次のようなさまざまな部分に分割できます。
def init_network_stuff(self):
""" init network setup """
self.my_new_socket = socket.socket(..)
def init_local_stuff(self):
""" init local setup """
self.my_new_logpath = "/foo/bar/log"
...