Автор канала умеет объяснять сложные вещи простым языком - это редкий дар
@МаксимНовиков-ь4ц Жыл бұрын
Наконец-то нормальное объяснение. Спасибо тебе.
@luchanos Жыл бұрын
Спасибо большое за теплые слова! постараюсь держать марку)
@НиколайФилиппенко-е3с Жыл бұрын
Спасибо Коля! Очень помогло твое видео разобратся.
@VGCor2 жыл бұрын
Всё таки, не совсем понятно где реализовывать функционал умножения на 10. Ведь сейчас функционал создания итератора разделён между методами двух классов. В одном предварительно подготавливаются данные, в другом - добавляется способ их обхода. Можно умножить и там и там.
@luchanos2 жыл бұрын
Если начать выполнять задание, то окажется, что умножать внутри итерируемого класса не получится. Надо делать это внутри итератора
@luchanos2 жыл бұрын
Функционал создания итератора не разделён между двумя классами, это не так. Есть итерируемый класс и тот, который реализует протокол итерации
@VGCor2 жыл бұрын
@@luchanos можно умножить каждый элемент в методе __iter__ тумбочки: TumbochkaItertor(elem * 10 for elem in (self.boxes[1] + self.boxes[2] + self.boxes[3])) Хотя тут в цикле for опять используется протокол итераторов. Но, конечно, задача стояла иначе, нужно сделать именно в итератор с умножением, согласен.
@VGCor2 жыл бұрын
@@luchanos Вообще всё довольно запутано. Не понимаю почему нельзя просто обойтись без этой эквилибристики, решив задачу вот так: class MebelIterator: def __init__(self, iterable_obj): self.iterator = iter(iterable_obj) def __iter__(self): return self def __next__(self): return next(self.iterator) * 10
@eugenebybin64032 жыл бұрын
Стоило классу итератора навешать какой-то функционал, например сортировку элементов переданных в него, а то получилось слишком синтетически и бессмысленно.
@luchanos2 жыл бұрын
Я ставил цель не перегрузить мозги зрителя прежде всего
@optikrus2 жыл бұрын
Братишка, я тебе метод __iter__ принёс)
@umeliere Жыл бұрын
он его разбирал в прошлом ролике
@slavapetrov685511 ай бұрын
самое самое нормальнейшее обьяснение....!!!!!!!!!!!