View in Telegram
🔥 Как создать собственный итератор? Создание собственного итератора в Python включает в себя реализацию метода __iter__() и метода __next__() в классе. Это позволяет объектам вашего класса быть итерируемыми. Вот пример, как создать свой собственный итератор, который генерирует последовательность квадратов чисел:
class SquareIterator:
    def __init__(self, max_num):
        self.max_num = max_num  # Устанавливаем максимальное число
        self.current = 0  # Начальное значение

    def __iter__(self):
        return self  # Возвращаем сам итератор

    def __next__(self):
        if self.current < self.max_num:
            square = self.current ** 2  # Вычисляем квадрат текущего числа
            self.current += 1  # Увеличиваем текущее число
            return square  # Возвращаем квадрат
        else:
            raise StopIteration  # Останавливаем итерацию, если предел достигнут

# Использование созданного итератора
squares = SquareIterator(5)  # Создаем итератор для квадратов чисел от 0 до 4

for square in squares:
    print(square)  # Выводит: 0, 1, 4, 9, 16
Как это работает: 1. Инициализация: Конструктор __init__ принимает максимальное число, до которого будут вычисляться квадраты, и инициализирует текущее число. 2. Метод __iter__Этот метод должен возвращать объект итератора. В данном случае он возвращает сам класс. 3. Метод next В этом методе вычисляется квадрат текущего числа и увеличивается значение текущего числа. Если текущее число достигло максимума, вызывается исключение StopIteration, чтобы сигнализировать об окончании итерации. Ставь 👍, если было полезно! Еще больше ответов для подготовки к собеседованиям тут 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Find friends or serious relationships easily