Step 2 (S-100235)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/24468/step/2

Step 2 (S-100235) 1.png

[00:00 - 00:17] большое внимание в языке python за на работе с последовательности нибудь то списке например итераторы и работе с функциями дело в том что большая часть стандартной библиотеке языка python принимать в 1/2 в качестве аргументов далеко за примерами ходить не нужно давать мы рассмотрим map которые мы используем чтобы скидывать целые числа


[00:17 - 00:32] из терминала может 62 целых числа мк и стенала использовать такую конструкцию мы можем запустить mop от нашего типа in я в конструкции input split храм запустил наш данный код когда виду в терминал 2


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


[00:48 - 01:07] тогда этом данный код запустим а сначала запускается функция импорта она требует от пользователя введение 1 из таких стандартов консоль возьми строку 10 50 нажимаем энтер и затем с помощью метода с плиты эту строку которую мы прочитали но на самом деле разбили по пробелу на 2 строки 150


[01:07 - 01:23] дали в конструктор класса мы передаем наш класс int которому на самом деле был на используется качестве функция потому что если мы вернем в конструктор то есть вызреть наш тип int а строку которая содержит в себе целое число то она будет или на к целому числу если это возможно


[01:23 - 01:41] также мы передаем наш объект икс которых содержатся стоковые представлении с черных чисел что же на самом деле делает mac он понимает в аргументы ты какая то функция f и какая то последовательность а б ц неважно какая то и то что он делал это на самом деле меняет нашу функцию f


[01:41 - 02:00] каждому из членов данной последовательности последовательность нужно помнить что мы в свою очередь является конечно же итератором то есть если мы не будем привозить для переменной выдающимся здесь отдых например затем видим на экранах просто чтобы убедиться в том что


[02:00 - 02:15] объект класс сама затем мы можем сделать такое присваивания мы можем сказать что это next project как запустить данный код ввести 2 числа


[02:15 - 02:30] убедиться в том что моя полочка отжиг тянуть сильно есть 2 next и с помощью них мы можем вытащить и к вывести сумму на экран однако в языке python есть механизм распаковке что позволяет нам использовать множественное присваивание


[02:30 - 02:49] если от знака присваивания слева находится больше чем 1 переменная а справа находится что нибудь почему не можем проигнорировать забыть то список кортеж или в нашем случае итератор то это придаток пытается распихать элемента данной последовательности по нашим беременным и если элементов там оказалась больше чем нужно то тогда мы пойдем с ошибкой а если меньше чем нужно


[02:49 - 03:08] тоже упадет с ошибкой поэтому наши старые записи работала лишь из за механизма распаковке и мы не смогли бы запустить данный код если вы допустим передали сюда 3 числа вы увидели такую ошибку валишь что она слишком много значения которое мы пытаемся распаковать мы ожидали всего 2 значения


Step 2 (S-100235) 2.png

[03:08 - 03:23] важно понимать что объекты класса вычислять значения достаточно лениво в тот момент когда мы создаем объект нашего класса мы кто мы на самом деле мы мертвые ссылки выстраивать ну ссылку на функцию изварино 1 сотку на итератор 2 аргумента


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


[03:39 - 03:56] может оказаться что можно сказать тоже самое и используя обычный генератор вместо metal мы можем написать такую конструкцию можно применить к элементу и для каждого из них в 3 часа


Step 2 (S-100235) 3.png

Step 2 (S-100235) 4.png

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


[04:12 - 04:28] см также смотрим класс фильтров конструктор также 2 аргумента это будет наша функция и это будет в последовательности элементы которые мы хотим отфильтровать нашелся логическое значение true в том случае если элемент постоянных это нам подходит


[04:28 - 04:45] и false если она мне подходит давайте попробуем прочитать список а целых чисел и оставить только те которые с четными этому конечно же считаем строку а парабеллума придем с целым числам всем или пишем функцию even которая проверяет является ли число отчетным


Step 2 (S-100235) 5.png

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


Step 2 (S-100235) 6.png

[05:01 - 05:16] том числе и ни четной что отправишься на стены остались лишь четные числа конструктор класса фильтр возвращать нам фильтр общем это является итераторы внутри него реализован метод next


Step 2 (S-100235) 7.png

[05:16 - 05:34] однако конструктор класса которому вероятней всего захотите воспользоваться когда будете пользоваться итераторами это на сам реконструктор класса list дело в том что если в конструкторе класса list помести модератор то он попробует собрать все элементы из данного литераторы и поместить их внутри 1 листа однако пользоваться им стоит аккуратно


[05:34 - 05:50] тогда же когда есть файлы если вы уверены что ваш литератор во 1 возвращает конечное число элементов и 2 если они все таки разумно умещается в оперативной памяти так вы здесь могли написать сильно проще бурьян вырос к доллару листа нашего фильтра лицеем просто вывести на экран


Step 2 (S-100235) 8.png

Step 2 (S-100235) 9.png

[05:50 - 06:05] когда мы запустим данный код мы увидимся в том что провести числа том числе ни четной и тогда мы увидим список из четных чисел которыми вели