我对初始化课程的最佳实践有疑问。考虑一个复杂且有很多成员的类。在外部初始化它们是不好的做法,但是如果没有大量的方法__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"
...