我通过让类构造函数调用多个函数来拆分类构造函数,如下所示:
class Wizard:
def __init__(self, argv):
self.parse_arguments(argv)
self.wave_wand() # declaration omitted
def parse_arguments(self, argv):
if self.has_correct_argument_count(argv):
self.name = argv[0]
self.magic_ability = argv[1]
else:
raise InvalidArgumentsException() # declaration omitted
# ... irrelevant functions omitted
当我的解释器愉快地运行我的代码时,Pylint有一个抱怨:
Instance attribute attribute_name defined outside __init__
粗略的谷歌搜索目前没有结果。将所有构造函数逻辑保存在__init__
中似乎是杂乱无章的,关闭Pylint警告也似乎是一种拙劣的做法。
解决这个问题的/the 神谕的方法是什么?