Доступ к элементам
Методы доступа к элементам - это специальные методы в Python, которые позволяют объектам определить свое поведение при доступе с использованием квадратных скобок [].
__getitem__
Магический метод __getitem__ используется для определения поведения квадратных скобок при доступе к элементам в экземплярах вашего класса.
#... (предыдущий код в sequence.py)
def __getitem__(self, index: int) -> object:
"""Return the item at the given index."""
return self.data[index]
__setitem__
Магический метод __setitem__ используется для определения поведения квадратных скобок при установке элементов в экземплярах вашего класса.
#... (предыдущий код в sequence.py)
def __setitem__(self, index: int, value: object) -> None:
"""Set the item at the given index to the given value."""
self.data[index] = value
__delitem__
Магический метод __delitem__ используется для определения поведения ключевого слова del при применении к экземплярам вашего класса.
#... (предыдущий код в sequence.py)
def __delitem__(self, index: int) -> None:
"""Remove the item at the given index."""
del self.data[index]
Пример: Использование методов доступа к элементам
Теперь, когда мы определили методы доступа к элементам для нашего класса MySequence, давайте посмотрим, как они работают в item_access_example.py:
from sequence import MySequence
## Create a MySequence object
my_seq = MySequence([1, 2, 3, 4, 5])
## Test the __getitem__ magic method
print(my_seq[2]) ## Output: 3
## Test the __setitem__ magic method
my_seq[2] = 9
print(my_seq[2]) ## Output: 9
## Test the __delitem__ magic method
del my_seq[2]
print(len(my_seq)) ## Output: 4
print(my_seq.data) ## Output: [1, 2, 4, 5]
Затем введите следующую команду в терминале, чтобы выполнить скрипт.
python item_access_example.py