Sobes.tech
Middle

Ի՞նչ պետք է ունենա օբյեկտը, որպեսզի նա լինի Python-ում ինկենտոր։

sobes.tech AI

Պատասխան AI-ից

Python-ում օբյեկտը ինքրե՞լ է ինքրե՞լ է iterator, եթե այն իրականացնում է երկու մեթոդ:

  • __iter__() — պետք է վերադարձնի ինքն իրեն (հաճախ return self
  • __next__() — վերադարձնում է հաջորդ տարր հաջորդականությունից և վերջում պետք է բարձրացնի StopIteration արտակարգ իրավիճակը։

պարզ iterator-ի օրինակ՝

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