Acceso a Elementos
Los métodos de acceso a elementos son métodos especiales en Python que permiten a los objetos definir su comportamiento cuando se accede a ellos utilizando la notación de corchetes [].
__getitem__
El método mágico __getitem__ se utiliza para definir el comportamiento de la notación de corchetes para acceder a elementos en instancias de su clase.
#... (código anterior en sequence.py)
def __getitem__(self, index: int) -> object:
"""Devuelve el elemento en el índice dado."""
return self.data[index]
__setitem__
El método mágico __setitem__ se utiliza para definir el comportamiento de la notación de corchetes para establecer elementos en instancias de su clase.
#... (código anterior en sequence.py)
def __setitem__(self, index: int, value: object) -> None:
"""Establece el elemento en el índice dado con el valor dado."""
self.data[index] = value
__delitem__
El método mágico __delitem__ se utiliza para definir el comportamiento de la palabra clave del cuando se aplica a instancias de su clase.
#... (código anterior en sequence.py)
def __delitem__(self, index: int) -> None:
"""Elimina el elemento en el índice dado."""
del self.data[index]
Ejemplo: Usando los Métodos de Acceso a Elementos
Ahora que hemos definido los métodos de acceso a elementos para nuestra clase MySequence, veamos cómo funcionan en item_access_example.py:
from sequence import MySequence
## Crea un objeto MySequence
my_seq = MySequence([1, 2, 3, 4, 5])
## Prueba el método mágico __getitem__
print(my_seq[2]) ## Salida: 3
## Prueba el método mágico __setitem__
my_seq[2] = 9
print(my_seq[2]) ## Salida: 9
## Prueba el método mágico __delitem__
del my_seq[2]
print(len(my_seq)) ## Salida: 4
print(my_seq.data) ## Salida: [1, 2, 4, 5]
Luego escriba el siguiente comando en la terminal para ejecutar el script.
python item_access_example.py