Встречается на 1% собеседований по Python
Какие методы должен поддерживать итерируемый объект в Python
Итерируемый объект в Python должен поддерживать метод __iter__(), который возвращает итератор. Итератор, в свою очередь, должен реализовывать метод __next__() для последовательного возврата элементов.
Пример:
python
class MyIterable:
def __init__(self, data):
self.data = data
text
def __iter__(self):
return iter(self.data) # или self.Iterator(self)class Iterator:
def init(self, iterable):
self.iterable = iterable
self.index = 0
text
def __next__(self):
if self.index >= len(self.iterable.data):
raise StopIteration
value = self.iterable.data[self.index]
self.index += 1
return valuetext
Итерируемый объект может также поддерживать `__getitem__()` для совместимости со старым стилем итерации, но предпочтительно использовать `__iter__()`.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы