Die Datentypen, die wir zuvor gelernt haben, sind Klassen, und wir können viele Methoden in Klassen verwenden.
Die Definition einer Klasse verwendet das Schlüsselwort class und die Syntaxstruktur ist wie folgt:
Klassenname: Inhalt des Klassendokuments
Name ist der Name der Klasse, die wir erstellen möchten. Bitte beachten Sie, dass wir bei der Verwendung von zwei Wörtern Großbuchstaben verwenden.
Bei der Kursdokumentation handelt es sich um für uns verfasste Informationen, die uns helfen sollen, diesen Kurs zu verstehen.
Inhalt ist der Klassenkörper in der Klasse, einschließlich Variablen, Methoden, Attributen usw. Wenn wir beim Definieren der Klasse keinen vorübergehenden Inhalt hinzufügen müssen, können wir die Pass-Anweisung als Platzhalteranweisung verwenden.
Definieren wir eine Klasse:
classSchool: #Auf diese Weise definieren wir eine Klasse namens School'''Definieren Sie eine Schulklasse''''passschool=School()#Auf diese Weise nennen wir diese Klasse print(type(school))#Pass-Ausgabe Werfen Sie einen Blick darauf Typ print(Schule)
Die Ausgabe ist:
<class'__main__.School'><__main__.Schoolobjectat0x03372DD8>
Aus den Ergebnissen können wir erkennen, dass die Schule eine Klasse ist, und aus der zweiten Zeile können wir erkennen, dass die Schule eine Instanz der Schulklasse ist.
Beim Erstellen einer Klasse wird häufig eine __init__()-Methode erstellt. Diese Methode ist eine Konstruktionsmethode, das heißt, diese Methode wird bei jedem Aufruf der Klasse verwendet und in dieser Methode werden auch Parameter übergeben.
Diese Methode muss einen Selbstparameter enthalten, der auch der erste Parameter sein muss. Dieser Parameter zeigt auf die Instanz selbst und kann auf die in dieser Klasse vorhandenen Eigenschaften und Methoden zugreifen.
Schauen Sie sich das folgende Beispiel an:
classSchool: #Auf diese Weise definieren wir eine Klasse.''Definieren Sie eine Schulklasse'' def__init__(self):print('Hier ist die __init()__-Methode')def__judge__( self) :print('Beurteilen Sie, ob diese Methode aufgerufen wird')school=School()
Die Ausgabe ist:
Hier ist die Methode __init()__
Aus der Ausgabe können wir ersehen, dass die Methode __init__ automatisch aufgerufen wird, solange diese Klasse aufgerufen wird, die folgende Methode __judge__ jedoch nicht.
Wir können auch eine Schleife verwenden, um zu überprüfen, ob die Init-Methode bei jedem Aufruf dieser Klasse verwendet wird:
Schauen Sie sich den folgenden Code an:
classSchool:'''Definieren Sie eine Schulklasse'''count=0def__init__(self):School.count+=1print('Dies ist die %dte Verwendung der __init()__-Methode'%School.count)foriinrange(5 ): Schule()
Die Ausgabe ist:
Hier ist die erste Verwendung der __init()__-Methode. Hier ist die dritte Verwendung der __init()__-Methode Die Methode Hier ist die fünfte Verwendung der Methode __init()__
Aus der Ausgabe können wir ersehen, dass wir die Init-Methode fünfmal verwenden. Wenn wir diese Klasse zum ersten Mal aufrufen, ist die Anzahl 0 und dann wird die Init-Methode um 1 hinzugefügt. Der school.count in der Init-Methode wird erhöht 1. Dann bleibt die äußerste Anzahl unverändert. Anhand dieses Beispiels können wir lernen, wie man init verwendet.
Wenn wir Funktionen lernen, wird die Parameterübertragung im Funktionsnamen definiert, und in der Klasse können wir Parameter bequemer über die Init-Methode übertragen.
Schauen Sie sich das folgende Beispiel an:
classGetAge:def__init__(self,name,age):self.name=nameself.age=ageprint('%s's age is %d'%(name,age))GetAge('Xiao Ming',18)
Die Ausgabe ist:
Xiao Ming ist 18 Jahre alt
Wir müssen beachten, dass self wichtig ist und an erster Stelle stehen muss. Wenn wir diese Klasse aufrufen, muss die Anzahl der in der Init-Methode enthaltenen Parameter (mit Ausnahme von self) gleich der Anzahl der von uns aufgerufenen Parameter sein bestanden.