Step 1 (S-100216)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/24464/step/1

Step 1 (S-100216) 1.png

[00:00 - 00:19] мы сами узнаем про то как язык python перебирает объекта множеств как работать цикл for обязательно при этом использовать и театре построения генераторов и как писать свои собственные прежде всего давайте сами убедимся что мы понимаем что будет делать цикл for к нам гум воспользоваться стандартными типами закопать зачем вы конечно же со списком


[00:19 - 00:34] зачем использовать слова из описания я растерянно кинга и затем дайте данных запустим мы убедимся в том что когда мы используем список цикле for то перебираем элементы нашего списка если же мы используем


[00:34 - 00:52] словарь в качестве того что мы перебираем перебираем прежде всего клещей словаря автор за title это я а если мы используем строку в качестве нашего перебираю элемента то мы перебираем символы строки


Step 1 (S-100216) 2.png

[00:52 - 01:09] такое поведение цикла for кажется нам срочно понятно всем хотели чтобы цикл for перебирала элементы множества именно это он делает однако как интерпретатор узнают какие именно элементы лежат в множестве перебираем ключи для словаря и почему мы перебираем элементов внутри списка для списка


Step 1 (S-100216) 3.png

[01:09 - 01:28] для этого языке python есть итераторы концепция итераторов итераций языке python достаточно проста если мы хотим перебирать элементы нашего какого то объекта их с помощью цикла for то необходимо чтобы нашего объекта икс был итератор iterator это такой объект перечислите их можно спросить вы итератора


[01:28 - 01:45] какой элемент является следующим в объекте икс он должен будет вернуть а если элементов объектив с уже кончились то должен быть сбросить ошибку 100 потеряешь таким образом если бы нашим объектом икс попросту список 1 2 то такой объект итератор для этого


[01:45 - 02:04] объекта икс или спросить а какой же деть следующем в экселе об этом и дело что не чк затем его снова спросили какой объект следующим образом что это 2 затем когда элементы вы все уже кончились мы спросили в какой элемент следующее


[02:04 - 02:24] я бы ответил нам что объекты кончилось тем что бросил ошибку 100 потеряешь для того чтобы получить литератор объекта в языке поэтому необходимо использовать функцию возьмем нашего словаря


Step 1 (S-100216) 4.png

[02:24 - 02:39] а затем в огромном вы следующими элемент а спросив у литераторов должны спросить следующий объект литераторы нужно использовать функцию next когда мы данную код запустим убедиться в том что он перебрал какое то исключение нашла словаря нашем случае это авто


[02:39 - 02:57] давайте повторим такую процедуру 3 раза за 8 следующий код убедимся в том что он перебрал все 3 ключа нашего словаря если мы еще раз пытаемся вызвать следующий элемент у нашего театра и мы убедимся в том что вызов данной функции бросает ошибку 100 потеряешь


[02:57 - 03:14] на самом деле именно таким образом и работать цикл for когда мы перебираем элементом множества с помощью цикла for мы сначала просим итератора этого множества и затем с помощью функциональной перебираем элементы таким образом когда мы в коде денег исполняем общий цикла for элемента


[03:14 - 03:29] в нашем случае в объекте бук происходит на самом деле что то похожее на след мы на самом деле сначала берем объекта затем в цикле while true мы пытаемся рисовать элементу i


[03:29 - 03:45] элемент который мы перебираем следующее значение спросить именно итератора затем исполним тела нашего цикла то есть наша за это время а затем если мы поймали ошибку стать потерпевшим все что мы делаем мы выходим из цикла


[03:45 - 04:03] несложно убедиться в том что для данной конструкции исполнить код одинаково если мы передадим сюда букв сначала передаст автора затем заголовок публикацией и 2 конструкция также изучал автор затем заголовок сделал отвлекаться если мы допустим передадим сюда список


[04:03 - 04:20] список то мы увидимся в том что с начала 1/1 инструкцию и течении от 1 до 6 утра конструкции также увидеть значение от 1 до 6 конечно синтаксически 1 конструкция более простая однако понимание того что мы используем литераторы функционал для того чтобы перебирать элемента


Step 1 (S-100216) 5.png

[04:20 - 04:26] позволит нам в дальнейшем писать свои собственные итераторы и того чтобы перебирать элементы наших собственных класс