Sobes.tech
Middle

Τι πρέπει να περιέχει ένα αντικείμενο για να είναι επαναληπτής στην Python;

sobes.tech AI

Απάντηση από AI

Ένα αντικείμενο είναι επαναληπτής σε Python αν υλοποιεί δύο μεθόδους:

  • __iter__() — πρέπει να επιστρέφει τον ίδιο τον επαναληπτή (συνήθως return self).
  • __next__() — επιστρέφει το επόμενο στοιχείο της ακολουθίας και πρέπει να ρίχνει μια εξαίρεση StopIteration όταν τελειώνει.

Παράδειγμα απλού επαναληπτή:

class CountUpTo:
    def __init__(self, max):
        self.max = max
        self.current = 0

    def __iter__(self):
        return self

    def __next__(self):
        if self.current >= self.max:
            raise StopIteration
        self.current += 1
        return self.current

counter = CountUpTo(3)
for num in counter:
    print(num)  # Θα εμφανίσει 1, 2, 3