Назад к вопросам
Junior — Middle
58
Какие типы данных или объекты поддерживают протокол итерации?
Ответ от нейросети
sobes.tech AI
В Python протокол итерации поддерживают объекты, которые реализуют метод __iter__() или __getitem__() с последовательными индексами. К таким объектам относятся:
- Встроенные коллекции: списки (
list), кортежи (tuple), множества (set), словари (dict), строки (str). - Генераторы и итераторы, созданные с помощью функций с
yield. - Пользовательские классы, реализующие метод
__iter__().
Пример пользовательского итератора:
class Count:
def __init__(self, low, high):
self.current = low
self.high = high
def __iter__(self):
return self
def __next__(self):
if self.current > self.high:
raise StopIteration
else:
self.current += 1
return self.current - 1
for number in Count(1, 5):
print(number)
Этот код выведет числа от 1 до 5, демонстрируя работу протокола итерации.