Alle Daten in Python sind Objekte. Es bietet viele erweiterte integrierte Datentypen, die leistungsstark und einfach zu verwenden sind. Wann sollten benutzerdefinierte Klassen verwendet werden? Wenn Sie beispielsweise beim Entwerfen einer Person-Klasse keine benutzerdefinierte Klasse verwenden, können Sie Folgendes tun:
person=['mike', 23, 'male'] #0-姓名, 1-年纪, 2-性别 print(person[0], person[1], person[2])
Wie Sie sehen, müssen Sie bei Verwendung der integrierten Typliste Indizes verwenden Referenzmitgliedsdaten, was nicht intuitiv ist. Sie können stattdessen den Typ dic verwenden:
person1={'name':'mike', 'age': 23, 'sex': 'male'} person2={'name':'hellen', 'age': 20, 'sex': 'female'} print(person1['name'], person1['age'], person1['sex'])
Auf diese Weise müssen Sie sich die Indizes nicht merken und es ist viel intuitiver. Aber die Syntax des Wörterbuchs ist immer noch etwas umständlich, und es wäre besser, wenn es so referenziert werden könnte: person.name, person.age usw. Dies ist der Vorteil der Existenz benutzerdefinierter Klassen:
class Person: def __init__(self, name, age, sex): self.name = name self.age = age self.sex = sex def __str__(self): #重载该函数便于测试 sep = ',' return self.name+sep+str(self.age)+sep+self.sex person1 = Person('mike', 23, 'male') person2 = Person('hellen', 20, 'female') print(person1) print(person2.name, person2.age, person2.sex)
Sie sehen, dass es sehr praktisch ist, Instanzen dieser Klasse zu generieren, solange der Konstruktor dieser Klasse definiert ist, und es ist auch sehr praktisch Um auf Datenelemente zu verweisen, z. B. Es ist viel bequemer, integrierte Typen direkt zu verwenden. Tatsächlich verwendet Python den integrierten Typ dic, um die Speicherung und Referenzierung von Mitgliedern benutzerdefinierter Klassen zu implementieren. Aus dieser Perspektive sind benutzerdefinierte Klassen eine vereinfachte Möglichkeit, integrierte Klassen zu verwenden, und integrierte Typen sind notwendige interne Komponenten von benutzerdefinierte Typen. Da benutzerdefinierte Klassen ihre eigenen Mitgliedsfunktionen definieren oder vordefinierte Methoden überladen können, können benutzerdefinierte Klassen gleichzeitig die Funktionen integrierter Klassen erweitern und eine bessere Simulation realer Dinge ermöglichen. Erstellen Sie beim Programmieren zunächst ein Konzept für die zu simulierende Sache und versuchen Sie dann, das Konzept mithilfe von Klassen zu erfassen. Dies ist der Schlüssel zum objektorientierten Design. Wenn Sie mehrere Objekte desselben Typs generieren müssen, sollten Sie eine benutzerdefinierte Klasse entwerfen, um sie so weit wie möglich zu abstrahieren.
Verwenden Sie benutzerdefinierte Klassen nicht zu oft. Einige Funktionen müssen nur durch eine Funktion definiert werden. Derzeit ist es nicht erforderlich, eine benutzerdefinierte Klasse zu entwerfen.
Das obige ist der detaillierte Inhalt vonWann werden Klassen in Python verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!