Heim > Backend-Entwicklung > Python-Tutorial > Verstehen Sie Python-Klassen und -Objekte gründlich und werden Sie ein qualifizierter Python-Entwickler

Verstehen Sie Python-Klassen und -Objekte gründlich und werden Sie ein qualifizierter Python-Entwickler

WBOY
Freigeben: 2024-02-24 17:00:19
nach vorne
795 Leute haben es durchsucht

Verstehen Sie Python-Klassen und -Objekte gründlich und werden Sie ein qualifizierter Python-Entwickler

1. Klassen und Objekte

In Python sind Klassen Blaupausen zum Erstellen von Objekten. Klassen enthalten die Datenstruktur und das Verhalten eines Objekts. Objekte sind Instanzen von Klassen. Die Datenstrukturen in einer Klasse werden Eigenschaften genannt und die Verhaltensweisen in einer Klasse werden Methoden genannt.

2. Klasse definieren

Verwenden Sie das Schlüsselwort class, um eine Klasse zu definieren. Die Definition einer Klasse umfasst den Namen der Klasse und den Hauptteil der Klasse. Der Hauptteil einer Klasse enthält die Eigenschaften und Methoden der Klasse.

Zum Beispiel definiert der folgende Code eine Klasse mit dem Namen Person:

class Person:

def __init__(self, name, age):
self.name = name
self.age = age

def greet(self):
print("Hello, my name is", self.name)
Nach dem Login kopieren

In dieser Klasse stellt __init__方法是一个特殊的函数,它在创建类的实例时被调用。__init__方法接受两个参数:self(表示类的实例)和nameage (die Eigenschaften des Objekts dar).

greet方法是一个普通的方法,它可以被类的实例调用。greet方法接受一个参数:self (stellt eine Instanz einer Klasse dar).

3. Objekte erstellen

Instanzen einer Klasse können mit dem Schlüsselwort class erstellt werden. Eine Instanz einer Klasse ist ein konkretes Objekt der Klasse.

Zum Beispiel erstellt der folgende Code zwei Instanzen der Person-Klasse:

person1 = Person("John", 25)
person2 = Person("Mary", 30)
Nach dem Login kopieren

person1 und person2 sind zwei Instanzen der person1person2Person-Klasse.

4. Zugriff auf Eigenschaften und Methoden

Auf Eigenschaften und Methoden einer Klasse kann mit dem .Operator zugegriffen werden.

Zum Beispiel greift der folgende Code auf das Attribut person1对象的name zu:

print(person1.name)
Nach dem Login kopieren

Ausgabe:

John
Nach dem Login kopieren

Der folgende Code ruft die person1对象的greet-Methode auf:

person1.greet()
Nach dem Login kopieren

Ausgabe:

Hello, my name is John
Nach dem Login kopieren

5. Klassenvererbung

Python unterstützt die Klassenvererbung. Durch die Klassenvererbung kann eine Klasse die Eigenschaften und Methoden einer anderen Klasse erben.

Der folgende Code definiert beispielsweise eine Klasse mit dem Namen Student, die die Student的类,该类继承了PersonKlasse erbt:

class Student(Person):

def __init__(self, name, age, major):
super().__init__(name, age)
self.major = major

def study(self):
print("I am studying", self.major)
Nach dem Login kopieren

In dieser Klasse ruft die Methode __init__ super().__init__ auf, um die Attribute und Methoden der Klasse zu erben. Die Methode study ist eine normale Methode, die von Instanzen einer Klasse aufgerufen werden kann. Die Methode study akzeptiert einen Parameter: self (der eine Instanz der Klasse darstellt). __init__方法调用了super().__init__来继承Person类的属性和方法。study方法是一个普通的方法,它可以被类的实例调用。study方法接受一个参数:self

6. Klassenpolymorphismus

Python unterstützt den Polymorphismus von Klassen. Klassenpolymorphismus ermöglicht, dass dieselbe Methode für verschiedene Klassen unterschiedliche Verhaltensweisen aufweist.

Der folgende Code definiert beispielsweise eine Funktion namens greet_person, die eine Instanz der

Klasse als Parameter akzeptiert: greet_person的函数,该函数接受一个Person

def greet_person(person):
person.greet()
Nach dem Login kopieren

Diese Funktion kann für Instanzen der

-Klasse und ihrer abgeleiteten Klassen aufgerufen werden. Person

Zum Beispiel ruft der folgende Code

zur Begrüßung auf: greet_person函数来对person1person2

greet_person(person1)
greet_person(person2)
Nach dem Login kopieren

Ausgabe:

Hello, my name is John
Hello, my name is Mary
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonVerstehen Sie Python-Klassen und -Objekte gründlich und werden Sie ein qualifizierter Python-Entwickler. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:lsjlt.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage