In Python beginnen und enden die integrierten Funktionen einer Klasse (auch magische Methoden oder spezielle Methoden genannt) mit einem doppelten Unterstrich und werden verwendet, um das Verhalten der Klasse anzupassen. Hier sind einige gängige integrierte Funktionen und ihre Funktion:
-
__init__(self, ...)
: Konstruktor, der zum Initialisieren von Objekten verwendet wird. Diese Methode wird automatisch aufgerufen, wenn eine Instanz einer Klasse erstellt wird. -
__del__(self)
: Destruktor, der zum Freigeben von Ressourcen verwendet wird, wenn das Objekt zerstört wird. Python verfügt über einen eigenen automatischen Garbage-Collection-Mechanismus, und im Allgemeinen ist es nicht erforderlich, diese Methode manuell aufzurufen. -
__str__(self)
: String-Darstellungsfunktion, die eine lesbare String-Darstellung eines Objekts zurückgibt. Diese Methode wird beispielsweise beim Drucken eines Objekts aufgerufen. -
__repr__(self)
:__str__(self)
Ähnlich wie , wird auch verwendet, um eine Zeichenfolgendarstellung eines Objekts zurückzugeben. Der Unterschied besteht darin, dass__repr__(self)
die zurückgegebene Zeichenfolge ein Python-Ausdruck sein sollte, der analysiert werden kann. -
__len__(self)
: Eine Ganzzahl, die verwendet wird, um die Anzahl der Elemente in einem Objekt zurückzugeben. Kann mit in Python integrierten Funktionen verwendet werdenlen()
. -
__getitem__(self, item)
: Wird verwendet, um das angegebene Element im Objekt abzurufen. Für den Betrieb können Sie Indizierung, Slicing, Iteratoren usw. verwenden. -
__setitem__(self, item, value)
: Wird verwendet, um den Wert des angegebenen Elements im Objekt festzulegen. -
__getattr__(self, name)
: Wird verwendet, um Eigenschaften abzurufen, die im Objekt nicht vorhanden sind. Diese Methode wird aufgerufen, wenn die Eigenschaft im normalen Eigenschaftszugriffslink nicht gefunden werden kann. -
__setattr__(self, name, value)
: Wird zum Festlegen von Eigenschaften verwendet, die im Objekt nicht vorhanden sind. -
__call__(self, *args, **kwargs)
: Rufen Sie ein Objekt wie eine Funktion auf.obj(a, b)
Es entspricht beispielsweiseobj.__call__(a, b)
. -
__lt__(self, other)
,__le__(self, other)
,__eq__(self, other)
,__ne__(self, other)
,__gt__(self, other)
,__ge__(self, other)
: werden jeweils verwendet, um die Operatoren „Kleiner als“, „Kleiner als oder gleich“, „Gleich“, „Ungleich“, „Größer als“ und „Größer als oder gleich“ des Objekts zu definieren. -
__contains__(self, item)
: Wird zur Implementierung des Mitgliedschaftstestoperators verwendetin
. -
__iter__(self)
: Ein Iterator, der zur Rückgabe eines iterierbaren Objekts verwendet wird. Sie könnenfor
eine Schleife verwenden, um über Objekte zu iterieren. -
__next__(self)
: Wird verwendet, um das nächste Element eines iterierbaren Objektiterators zurückzugeben. -
__enter__(self)
,__exit__(self, exc_type, exc_val, exc_tb)
: Wird verwendet, um die Ein- und Ausstiegsmethoden des Python-Kontextverwaltungsprotokolls zu implementieren.
Die oben genannten sind nur einige gängige integrierte Funktionen. Tatsächlich verfügen Python-Klassen über viele integrierte Funktionen. Sie können diese Funktionen an Ihre Bedürfnisse anpassen, um ein flexibleres und effizienteres Klassenverhalten zu erzielen.