Sobes.tech
Junior — Middle
75

Hangi veri türleri veya nesneler yineleme protokolünü destekler?

AI'dan gelen yanıt

sobes.tech yapay zeka

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