Elementzugriff
Elementzugriffs-Methoden sind spezielle Methoden in Python, die es Objekten ermöglichen, ihr Verhalten beim Zugriff mit eckigen Klammern []
zu definieren.
__getitem__
Die __getitem__
-Magie-Methode wird verwendet, um das Verhalten der eckigen Klammern-Notation beim Zugriff auf Elemente in Instanzen Ihrer Klasse zu definieren.
#... (vorheriger Code in sequence.py)
def __getitem__(self, index: int) -> object:
"""Gibt das Element an der angegebenen Position zurück."""
return self.data[index]
__setitem__
Die __setitem__
-Magie-Methode wird verwendet, um das Verhalten der eckigen Klammern-Notation beim Festlegen von Elementen in Instanzen Ihrer Klasse zu definieren.
#... (vorheriger Code in sequence.py)
def __setitem__(self, index: int, value: object) -> None:
"""Setzt das Element an der angegebenen Position auf den angegebenen Wert."""
self.data[index] = value
__delitem__
Die __delitem__
-Magie-Methode wird verwendet, um das Verhalten des del
-Schlüsselworts zu definieren, wenn es auf Instanzen Ihrer Klasse angewendet wird.
#... (vorheriger Code in sequence.py)
def __delitem__(self, index: int) -> None:
"""Entfernt das Element an der angegebenen Position."""
del self.data[index]
Beispiel: Verwendung der Elementzugriffs-Methoden
Jetzt, da wir die Elementzugriffs-Methoden für unsere MySequence
-Klasse definiert haben, schauen wir uns an, wie sie in item_access_example.py
funktionieren:
from sequence import MySequence
## Erstellt ein MySequence-Objekt
my_seq = MySequence([1, 2, 3, 4, 5])
## Testet die __getitem__-Magie-Methode
print(my_seq[2]) ## Ausgabe: 3
## Testet die __setitem__-Magie-Methode
my_seq[2] = 9
print(my_seq[2]) ## Ausgabe: 9
## Testet die __delitem__-Magie-Methode
del my_seq[2]
print(len(my_seq)) ## Ausgabe: 4
print(my_seq.data) ## Ausgabe: [1, 2, 4, 5]
Dann geben Sie den folgenden Befehl in der Konsole ein, um das Skript auszuführen.
python item_access_example.py