Какие типы данных или объекты поддерживают протокол итерации?

В Python протокол итерации поддерживают объекты, которые реализуют метод iter() или getitem() с последовательными индексами. К таким объектам относятся:

Короткий ответ

Что ответить на собеседовании

В Python протокол итерации поддерживают объекты, которые реализуют метод iter() или getitem() с последовательными индексами. К таким объектам относятся:

Подробный разбор

Ответ с пояснениями

В 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, демонстрируя работу протокола итерации.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее