Heim >Backend-Entwicklung >Python-Tutorial >Was genau macht __init__ in Python?
Ich habe in Python eine Funktion mit einem seltsamen Namen gesehen, __init__. Ich weiß, dass die unterstrichene Funktion automatisch ausgeführt wird, aber ich kenne die genaue Bedeutung ihrer Existenz nicht.
Heute habe ich die gesehen > Kapitel Kapitel 11 Objektorientierte Programmierung führt es wie folgt ein: „Hinweise für C/Java/C#-Programmierer
Alle Klassenmitglieder (einschließlich Datenmitglieder) in Python sind öffentlich und alle Methoden sind gültig.
Mit einer Ausnahme: Wenn Sie einen Datenelementnamen verwenden, dem ein doppelter Unterstrich vorangestellt ist, wie z. B. __privatevar, behandelt das Namensverwaltungssystem von Python ihn effektiv als private Variable Nur innerhalb einer Klasse oder eines Objekts verwendet werden, sollte ihm ein einzelner Unterstrich vorangestellt werden, während alle anderen Namen öffentlich sind und von anderen Klassen/Objekten verwendet werden können. Denken Sie daran, dass dies nur eine Konvention ist und von Python nicht benötigt wird (im Gegensatz zu
Beachten Sie außerdem, dass die Methode __del__ dem Konzept des Destruktors ähnelt. „
Plötzlich wurde mir klar, dass __init__ in der Klasse verwendet wird auf eine feste Art und Weise. Es scheint sehr starr, aber es macht tatsächlich Sinn
def __init__(self, name): '''Initializes the person's data.''' self.name = name print '(Initializing %s)' % self.name # When this person is created, he/she # adds to the population Person.population += 1
Die Namensvariable gehört zum Objekt (sie verwendet Selbstzuweisung), Es handelt sich also um ein Objekt. Der Wert der Variablen
self.name wird pro Objekt angegeben und gibt damit an, dass es sich um eine Variable eines Objekts handelt.