Python -Dunder -Methoden

Python -Dunder -Methoden
Dunder -Methoden werden auch als spezielle Techniken bezeichnet. Weil sie mit doppelten Unterstrichen beginnen und mit __str__ oder __str__ __strieren können, sind sie leicht identifizierbar. In Python werden diese „Dunders“ oder „besonderen Methoden“ manchmal als „magische Methoden“ bezeichnet.Die Übernahme dieses Ausdrucks kann jedoch dazu führen, dass die Dinge ausgefeilter erscheinen als sie sind. Diese Techniken sollten so behandelt werden, als hätten sie integrierte Sprachaspekte.

Dunder -Methoden sind extrem starke Python -Intrinsic -Methoden, mit denen komplexe Klassen entwickelt werden können. Diese Lektion bietet eine Schritt-für-Schritt-Anleitung für Python-Methoden und die Verwendung dieser Verwendung mit Beispielen mit Beispielen. Die Konsistenz von Pythons Popularität kann auf die Popularität der Sprache zurückzuführen sein. Für intrinsische Methoden wie ABS (), Len (), Sortled () und viele andere können Sie mit Python Ihre benutzerdefinierten Objekte implementieren. Jetzt müssen Sie nur noch einige einzigartige Methoden zu Ihrer Klasse hinzufügen (Dunder -Methoden).

In diesem Artikel haben wir Phrasen wie Dunder -Methoden, magische Methoden und spezielle Techniken verwendet, die alle in dieselbe Kategorie fallen. Bevor wir in das Tutorial gehen, sollten Sie sich von etwas bewusst sein. Python-Programmierer, die mit objektorientierter Programmierung (OOP) erfahren, erkennen die __init__-Methode. Die Dunder -Methode wurde nach den doppelten Unterstrichen benannt, die in Python als Dunder bezeichnet werden. Da es in Ruby magische Methoden gibt, die den gleichen Zweck erfüllen, bezeichnen einige Python -Programmierer sie als solche in Python. Wir bezeichnen sie normalerweise als besondere Methoden, da das Python -Handbuch sie so nennt. Wenn Sie diese Methoden in Python sehen, gehen davon aus, dass es sich um besondere Methoden handelt.

Beispiel 1:

Ähnlich wie bei Konstruktoren in anderen Programmiersprachen wird die __init__ -Funktion für die Initialisierung ohne Aufruf aufgerufen, wenn eine Instanz einer Klasse gebildet wird. In Python -Klassen ist „__init__“ eine reservierte Methode. In der objektorientierten Terminologie wird sie als Funktion Object () [nativer Code] bezeichnet. Diese Methode wird aufgerufen, wenn ein Objekt aus einer Klasse gebildet wird, damit die Klasse ihre Eigenschaften bevölkern kann. Wir können den "+" -Preiber verwenden, um zwei Zeichenfolgen zu kombinieren, ohne aufgrund dieser Methoden explizite Typen anwenden zu müssen. Hier ist ein detailliertes Beispiel dafür, wie dies ausführt. Wir haben unsere String -Klasse zuerst deklariert, gefolgt von der magischen Funktion, um ein Objekt zu erstellen. Die Objekterstellung wird nach dem Treibercode abgeschlossen, und der Objektort wird am Ende gemeldet.

Die obigen Codezeilen drucken lediglich die Speicheradresse des String -Objekts.

Beispiel 2:

Wir werden die __REPR__ -Methode verwenden, um unser Objekt im folgenden Beispiel darzustellen. Die Magic -Methode __Repr__ repräsentiert eine Klasseninstanz in einer Zeichenfolge. Wenn wir versuchen, ein Klassenobjekt zu drucken, wird die Funktion __Rep__ aufgerufen, die eine Zeichenfolge ergibt. Standardmäßig gibt repr () die Zeichenfolgedarstellung des Werts der EV -Funktion zurück. Standardmäßig liefert das benutzerdefinierte Klassenobjekt eine Zeichenfolge in Winkelklammern, die den Namen und die Adresse des Objekts enthält. Mit Ausnahme der Hinzufügung der __REPR__ -Methode, nachdem wir die magische Methode verwendet haben, um das Objekt zu initialisieren, ist der Code der gleiche wie zuvor.

Hier können Sie sehen, dass die oben genannten die Zeichenfolge erfolgreich angezeigt haben.

Beispiel 3:

Wir werden jetzt die __add__ -Funktion zur String -Klasse hinzufügen. Die Attribute der Klasseninstanz werden mit der __add__ magischen Methode hinzugefügt. Stellen wir uns so aus. Nachdem das Operation Object1 + Object2 durchgeführt wurde, fügt die __add__ -Funktion implizit die Attribute dieser Objekte hinzu, wie z. B. Object1.A + Objekt2.A. Wir haben die String-Klasse im Code erneut initialisiert, wie Sie in der ersten Codezeile sehen können. Danach nutzten wir die magische Art, um das Objekt in Gang zu bringen. Das String -Objekt wurde dann mit der __add__ -Methode gedruckt. Das Objekt wird nach dem Treibercode erstellt, der die nächste Codezeile ist. In der letzten Codezeile haben wir ein String -Objekt mit einer Zeichenfolge verkettet.

Klassenzeichenfolge:

Unten finden Sie die Ausgabe des oben geschriebenen Code.

Abschluss:

Magische Methoden sind Python -Methoden mit doppelten Unterstrichen zu Beginn und Schlussfolgerung. Dunder -Methoden oder -Techniken sind ein anderer Name für sie. Magische Methoden sollen vom Benutzer nicht direkt aufgerufen werden. Stattdessen werden sie von der Klasse intern als Reaktion auf eine bestimmte Aktion bezeichnet. Die __add __ () -Methode wird intern aufgerufen, wenn Sie den + Operator verwenden, um beispielsweise zwei Zahlen hinzuzufügen. Pythons integrierte Kurse definieren viele magische Methoden. Um herauszufinden, wie viele magische Methoden eine Klasse geerbt hat, können Sie die DIR () -Funktion verwenden.