次のように、複数の関数を呼び出せるようにすることで、クラス コンストラクターを分割します。
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__
大ざっぱなGoogle検索は現在無益です。すべてのコンストラクター ロジックを保持することは整理されていないように__init__
見え、Pylint の警告をオフにすることもハックのようです。
この問題を解決するPythonicの方法は何ですか?