J'ai divisé le constructeur de ma classe en lui permettant d'appeler plusieurs fonctions, comme ceci :
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
Alors que mon interprète exécute mon code avec plaisir, Pylint se plaint :
Instance attribute attribute_name defined outside __init__
Une recherche rapide sur Google est actuellement infructueuse. En gardant toute la logique du constructeur dans __init__
semble mal organisé, et désactiver l'avertissement de Pylint semble également relever du piratage.
Qu'est-ce qu'un/la Pythoniques Comment résoudre ce problème ?