我发现自己写了很多像这样的构造函数类:
class MyClass(object):
def __init__(self, foo, bar, foobar=1, anotherfoo=None):
self.foo = foo
self.bar = bar
self.foobar = foobar
self.anotherfoo = anotherfoo
这是一种糟糕的代码习惯吗?Python是否提供了更优雅的处理方式?
我的类甚至一些构造函数不仅仅是我展示的内容,但通常我会有一个参数列表传递给构造函数,最终只是被赋值给同名的成员变量。我将其中一些参数设置为可选项,以指出像下面这样做的问题:
class MyClass(object):
def __init__(self, arg_dict):
self.__dict__ = arg_dict