Python verwendet Klassen (Klasse) und Objekte (Objekt), um objektorientierte Programmierung (OOP) durchzuführen.
Der Hauptzweck der Objektorientierung besteht darin, die Wiederverwendbarkeit von Programmen zu verbessern. Der Grund, warum wir so früh mit der objektorientierten Programmierung begonnen haben, ist, dass das gesamte Konzept von Python auf Objekten basiert. Das Verständnis von OOP ist der Schlüssel zum weiteren Erlernen von Python. Das Folgende ist ein objektorientiertes Verständnis, basierend auf der Klassifizierung. Ähnliche Objekte werden in Kategorien eingeteiltclass Bird(object): have_feather = True way_of_reproduction = 'egg'
summer = Bird() print summer.way_of_reproduction
bis zum ersten Satz und erklären Sie, dass „Sommer“ ein Objekt in der Kategorie „Vogel“ ist Die Attribute Die Referenz wird in Form von object.attribute implementiert.
Armer Sommer, du bist nur ein haariges Ei, du bist so zart. AktionWenn wir in der täglichen Wahrnehmung Kategorien anhand von Attributen identifizieren, unterscheiden wir manchmal Kategorien basierend darauf, was dieses Ding tun kann. Vögel bewegen sich zum Beispiel. Auf diese Weise wird der Vogel von der Kategorie Haus unterschieden. Diese Aktionen führen zu bestimmten Ergebnissen, beispielsweise zu einer Bewegung, die zu Positionsänderungen führt. Einige dieser „Verhalten“-Attribute sind Methoden. In Python werden Methoden durch die Definition von Funktionen innerhalb der Klasse beschrieben.
Wir haben die Vogelkategorie neu definiert. Birdclass Bird(object): have_feather = True way_of_reproduction = 'egg' def move(self, dx, dy): position = [0,0] position[0] = position[0] + dx position[1] = position[1] + dy return position summer = Bird() print 'after move:',summer.move(5,8)
ein Methodenattribut hinzu, bei dem es sich um die Methode move handelt, die die Bewegung darstellt. (Ich gebe zu, dass diese Methode albern ist. Sie können eine interessantere Methode definieren, nachdem Sie die nächste Vorlesung gelesen haben.) (In seinen Parametern gibt es ein Selbst, das es uns erleichtern soll, auf das Objekt selbst zu verweisen. Das Methode Der erste Parameter muss self sein, unabhängig davon, ob er verwendet wird oder nicht. Der Inhalt über self wird in der nächsten Vorlesung erweitert.
Die anderen beiden Parameter dx, dy stellen die in x- und y-Richtung zurückgelegte Distanz dar . Die Move-Methode gibt schließlich die berechnete Position zurück.
Als wir schließlich die Move-Methode aufgerufen haben, haben wir nur die beiden Parameter dx und dy übergeben und es war nicht nötig, den Parameter self zu übergeben (da self nur für den internen Gebrauch bestimmt ist).
Mein Sommer kann davonlaufen.
Unterkategorien
Vögel können beispielsweise weiter in Hühner, Wildgänse und Pirols unterteilt werden.
In OOP drücken wir das obige Konzept durch
Vererbung Die neu definierte Chicken-Klasse fügt zwei Attribute hinzu: way_of_move, die in KFC zu finden sind (possible_in_KFC)class Chicken(Bird): way_of_move = 'walk' possible_in_KFC = True class Oriole(Bird): way_of_move = 'fly' possible_in_KFC = False summer = Chicken() print summer.have_feather print summer.move(5,8)
Beim Definieren der Klasse werden hier Klammern für Bird verwendet. Dies zeigt, dass Chicken eine Unterklasse von Bird ist, das heißt, Chicken erbt von Bird. Natürlich ist Bird die übergeordnete Klasse von Chicken. Huhn genießt alle Eigenschaften von Bird. Obwohl ich nur erklärt habe, dass Summer eine Chicken-Klasse ist, genießt sie die Attribute der übergeordneten Klasse durch Vererbung (sei es das Variablenattribut have_feather oder das Methodenattribut move).
Die neu definierte Oriole-Klasse (Oriole) auch erbt von Vögeln. Wenn Sie ein Pirolobjekt erstellen, weist das Objekt automatisch die Eigenschaften des Vogels auf.
Durch das Vererbungssystem können wir wiederholte Informationen und wiederholte Anweisungen im Programm reduzieren. Wenn wir zwei Klassen separat definieren, ohne von Vögeln zu erben, müssen wir die Attribute von Vögeln in die Definitionen der Hühner- bzw. Pirol-Klassen eingeben. Der gesamte Prozess kann langwierig werden, daher verbessert die Objektorientierung die Wiederverwendbarkeit des Programms.
(Zurück zu Frage 1, das Objekt in den Klammern. Wenn die Klammern ein Objekt sind, bedeutet dies, dass diese Klasse keine übergeordnete Klasse hat (das Ende))
Kategorisieren Sie verschiedene Dinge, um die Welt zu verstehen. Wir praktizieren diesen kognitiven Prozess seit unseren Vorfahren. Objektorientiert ist im Einklang mit menschlichen Denkgewohnheiten. Das sogenannte prozessorientierte Denken, also das Ausführen einer Anweisung vor der nächsten, ist eher maschinelles Denken. Durch objektorientierte Programmierung können wir komplexe Ideen in unserem Denken bequemer ausdrücken.
Dinge nach Attributen kategorisieren (Objekte als Klassen klassifizieren)
Eine Methode ist ein Attribut, das eine Aktion darstellt
Vererbung zur Veranschaulichung des übergeordneten Elements verwenden Klassen-Kind-Klassenbeziehung. Unterklassen verfügen automatisch über alle Eigenschaften der übergeordneten Klasse.
self stellt ein Objekt dar, das basierend auf der Klassendefinition erstellt wurde.
Erstellen Sie ein Objekt: Objektname = Klassenname()
Referenzieren Sie die Attribute des Objekts: object.attribute
Das obige ist der detaillierte Inhalt vonEinführung in die Grundkonzepte von Python objektorientiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!