Seite 1 von 1

Aufruf von Methoden in der __init__-Methode

Verfasst: Sonntag 8. Juli 2018, 20:53
von Atalanttore
Hallo

Eine meiner seit langen bestehenden Fragen ist, ob man bereits in der __init__-Methode andere Methoden der Klasse aufrufen kann.

Ich habe mir dazu ein sehr einfaches Beispiel geschrieben:

Code: Alles auswählen

class Test:
    def __init__(self):
        print("Hallo Welt")
        self.write_text()

    def write_text(self):
        print("Hallo Unisersum")

test = Test()
Es funktioniert sogar, obwohl der Aufruf der Methode `write_text()` vor der Definition kommt. Außerhalb von Klassen muss die Definition ja immer vor dem Aufruf stehen, damit es funktioniert. Ist die Inkonsistenz bei Klassen so gewollt?

Gruß
Atalanttore

Re: Aufruf von Methoden in der __init__-Methode

Verfasst: Sonntag 8. Juli 2018, 20:58
von Sirius3
Es gibt keine Inkonsistenz. Erst wird die Klasse `Test` mit all ihren Methoden definiert, dann in der letzten Zeile aufgerufen. Also gilt auch hier, erst Definitien dann Aufruf.

Re: Aufruf von Methoden in der __init__-Methode

Verfasst: Sonntag 8. Juli 2018, 22:02
von Atalanttore
Wird die __init__-Methode immer erst zum Schluss, nach der Definition aller Methoden einer Klasse, aufgerufen?

Gruß
Atalanttore

Re: Aufruf von Methoden in der __init__-Methode

Verfasst: Sonntag 8. Juli 2018, 22:05
von Sirius3
`__init__` wird dann aufgerufen, wenn Du eine Instanz der Klasse initialisierst.