Step 6 (S-97851)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/24459/step/6

Step 6 (S-97851) 1.png

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


[00:18 - 00:36] рассмотрим следующий год начало обратил внимание что нас есть для определения функции и 3 вызова функции определения функции же у нас теперь меня функции ф и вызов функции n вызов функции ф вызов функции а справа приписать содержимое стек


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


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


[01:12 - 01:27] таким образом когда интерпретатор начнет исполнять строчку принц м от сайтов они function он вызывает функцию приняты подожди я на стек


[01:27 - 01:42] при этом важно то есть интерпретатор что он всегда выполняет самую верхнюю функцию на стояке а когда интерпретатор захочет исполнения функции принты увидеть то что мы его попросили он с ними функцию в их составе


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


[01:57 - 02:14] и насчет испания функционеров так как 1 строка функция это функция print то 1 что сделает основоположником суприм на стек и исполнят а то что его просили он выведет function f


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


[02:31 - 02:48] так же ту же функцию мы ее вызываю мы кладем жа жа нас так 1 с такой функции же является функция принц поэтому мы снова сможем функции printf нас так давайте на секунду остановился в данный момент исполнения


[02:48 - 03:05] фундаментальный принцип стека вызовов все функции внутри стека вызовов на самом деле исполняются но 1 из них исполняется реально та функции которые видны дорожки стайка остальные функции жду соседа сверху пока в исполнится таким образом функция модуль


[03:05 - 03:24] ждет пока исполнится функционеров потому что мы здесь вызвали функцию f ждет пока используется функция же а потому что мы вызвали здесь и функция жаждет распознает используется функция print которые вызвали здесь единственная функция которая реально в данный момент исполнять инструкции инструкции то функция print


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


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


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


[04:18 - 04:37] и вуаля мы можем вести принц принц вызвать остался слышен аргументами а увидишь обосновался в они function


[04:37 - 04:54] снова стать принципе так и будет вполне не интерпретатору чтобы проникнуться стакан давайте проверим как можем реализовать так на основе списка языке python это рассмотрим пример задним список 1 2 3


Step 6 (S-97851) 2.png

[04:54 - 05:13] нас уже полюбившиеся а и допишем у него с помощью метода абсент 4 5 выведи на экран икс убедимся в том что мы сильно добавили элементы в конец списка это будет 4 5 и наш список он сильно увеличился в размерах затем воспользуемся методом проб


[05:13 - 05:31] он противоположные задачи он на самом деле забирает элементы с конца списка и возвращает его таким образом если мы запишем top равно икс то убедимся в том что последний элемент списка был пятерочка что на самом деле после действия данного метода


[05:31 - 05:46] после выполнения данного метода с наш список флешку красивой и если мы повторно сделаем то же самое то мы увидим что последнем нашем красивом


[05:46 - 06:01] я утверждаю что если после создания списка все методы которые мы поменяли к списку это методы оппонент и под данный список общем то ведет себя абсолютно также как и с так потому что мы записывали только в конец и забирали только с конца


[06:01 - 06:18] таким образом если мы создаем список и пользуется знаками то по сути это стек сперва может показаться что такая структура для хранения текущего состояния исполнения кода самая громоздкая однако нет время и практика показала что с так достаточно простая структура данных


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