Instanzattribut Attributname außerhalb von __init__ definiert

Ich teilte meine Klasse Konstruktor, indem Sie es rufen mehrere Funktionen, wie folgt:

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

Während mein Dolmetscher glücklicherweise läuft mein code Pylint ist eine Beschwerde:

Instance attribute attribute_name defined outside __init__

Einer flüchtigen Google-Suche ist derzeit fruchtlos. Halten Sie alle Konstruktor-Logik in __init__ scheint unorganisiert, und ausschalten der Pylint Warnung scheint auch hack-ish.

Was ist ein/der Pythonic Weg, um dieses problem zu beheben?

InformationsquelleAutor der Frage Steven Liao | 2013-10-10

Schreibe einen Kommentar