Eine kurze Erklärung von Klassen und Instanzen in der objektorientierten Python-Programmierung (mit Beispielen)

不言
Freigeben: 2018-10-09 15:33:42
nach vorne
2469 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine einfache Erklärung von Klassen und Instanzen in der Python-Programmierung (mit Beispielen). Freunde in Not können darauf verweisen.

1. Vorwort

Objektorientierte Programmierung OOP: Objektorientierte Programmierung.
OOP betrachtet Objekte als Grundeinheit des Programms. Ein Objekt enthält Daten und Funktionen für Betriebsdaten. Python ist eine objektorientierte Programmiersprache, die Methodenaufrufe über Objekte implementiert.

Prozessorientierte Programmierung betrachtet ein Computerprogramm als eine Reihe von Befehlssätzen, also die sequentielle Ausführung einer Reihe von Funktionen. Um die Programmierung zu vereinfachen, werden prozessorientierte Funktionen weiterhin in Unterfunktionen unterteilt, das heißt, große Funktionen werden in kleine Funktionen zerlegt, um die Komplexität des Systems zu reduzieren.
Objektorientierte Programmierung betrachtet ein Computerprogramm als eine Sammlung von Objekten, und jedes Objekt kann Nachrichten von anderen Objekten empfangen und diese Nachrichten verarbeiten. Die Ausführung eines Computerprogramms besteht aus einer Reihe von Nachrichten, die zwischen jedem Objekt weitergegeben werden.

Für objektorientierte Sprachen sind Klassen und Instanzen die wichtigen Konzepte. Eine Klasse ist eine abstrakte Vorlage und eine Instanz ist ein Objekt, das auf der Grundlage der Klassenvorlage erstellt wird.
In Python können alle Datentypen als Objekte betrachtet werden, und natürlich können Objekte auch angepasst werden. Benutzerdefinierte Objektdatentypen sind das Konzept von Klassen in objektorientierten Objekten, und Objekte werden basierend auf Klassen erstellt.
Die drei Hauptmerkmale sind: Kapselung, Vererbung und Polymorphismus.

2. Klasse Klasse

Eine Klasse ist eine abstrakte Vorlage und eine Datenstruktur.

Syntax:
Klasse Klassenname: übergeben
Klasse Klassenname(Objekt): übergeben

Erklärung:
Klasse ist das Schlüsselwort Klasse. Der Klassenname class_name beginnt normalerweise mit einem Großbuchstaben.
Objekt gibt an, von welcher Klasse die Klasse erbt. Tatsächlich ist Objekt die Basisklasse, die alle Klassen erben, und wird im Allgemeinen nicht explizit ausgeschrieben. (Normalerweise schreibe ich es)

Wenn es beispielsweise viele Schüler in einer Klasse gibt, weist die Sammlung der Schüler viele Gemeinsamkeiten auf, wie z. B. den Namen des Schülers, die Schülernummer, die Note und das Hauptfach. , Noten und eine Reihe gemeinsamer Merkmale, dann können wir diese in eine Student-Klasse abstrahieren. Wie folgt:

class Student(object):
    pass
Nach dem Login kopieren

Im obigen Beispiel verwenden wir zunächst pass, um zu demonstrieren, was bedeutet, dass keine Operation ausgeführt wird.

3. Instanz

Student-Instanzen können durch Klassen erstellt werden. Die Methode ist wie folgt:

>>> bart = Student()        # 变量bart指向的是一个Student的实例 
>>> bart
<__main__.student> # 类object 实例的内存地址
>>> Student                 # 类
<class>     # 返回的是Student 类的属性 class</class></__main__.student>
Nach dem Login kopieren

Für Instanzen von Klassen können Attribute sein gebunden.

Attribute sind die Daten- oder Funktionselemente eines Objekts. Zum Beispiel der Name des Studenten, die Studentennummer und andere Informationen in der Kategorie „Student“.

Zugriff über die „Methode zur Identifizierung von Festungsattributen“.

Python ist eine dynamische Sprache und auf Klassen basierende Instanzen können beliebig an Attribute gebunden werden. Die Möglichkeit, Eigenschaften an eine Instanz zu binden, erfolgt über Instanzvariablen oder über die Variable self.

>>> bart.name = 'xlp'        # 动态给变量绑定属性
>>> bart.name
'xlp'
Nach dem Login kopieren

Wie werden Eigenschaften gebunden? __init__() Instanzmethode.
Wenn eine Instanz erstellt wird, prüft Python, ob die Methode __init__() implementiert ist. Wenn diese Methode nicht definiert ist, müssen Sie keine spezifischen Vorgänge auf die Methode anwenden. Das heißt, __init()__ wird automatisch aufgerufen, unabhängig davon, ob es standardmäßig oder angepasst ist.

__init__(self)

1. Der erste Parameter dieser Methode ist immer self, und self verweist auf die erstellte Instanz selbst.

2 Das Attribut ist an die Instanz gebunden, auf die „self“ zeigt. Die Methode „__init__()“ gibt „Keine“ zurück. Beim Erstellen einer Instanz können Sie keine leeren Parameter übergeben. Sie müssen Parameter übergeben, die der Methode entsprechen, aber self muss nicht übergeben werden. Die Standardparameter werden nach Bedarf übergeben.

Zum dritten Punkt: Da das Instanzobjekt nach dem Aufruf der automatisierten Erstellungsinstanz zurückgegeben wird, sollte der Konstruktor __init__(), wenn er definiert ist, keine Objekte zurückgeben, da sonst Konflikte auftreten können, sondern nur die Instanz zurückgeben. Der Versuch, ein anderes Objekt als „None“ zurückzugeben, löst einen TypeError aus:

Instanzattribute anzeigen: dir()Eine kurze Erklärung von Klassen und Instanzen in der objektorientierten Python-Programmierung (mit Beispielen)über die integrierte Funktion dir (Klassenname) kann die Attribute der Klasse anzeigen, zum Beispiel: dir(Student1). Sie können auch auf die Eigenschaften der Instanz zugreifen. Versuchen Sie es auszudrucken und überzeugen Sie sich selbst~

Das obige ist der detaillierte Inhalt vonEine kurze Erklärung von Klassen und Instanzen in der objektorientierten Python-Programmierung (mit Beispielen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!