Я изучаю python и пытаюсь понять, как работает стек в python. У меня есть некоторые сомнения. Я знаю, как работают стек, и я прочитал много статей и руководств об этом. Я прочитал много потоков в stackoverflow, они все хороши, но у меня есть некоторые сомнения.Как работает вызов стека аргументов в Python?
До сих пор я считывал стеки и возвращал значения функции. Он работает директором LIFO.
Только первое значение стека будет возвращено и сохранено сверху.
Так что мой вопрос - предположим, что есть четыре переменные:
a = 9
b = 2
c = 13
d = 4
Они хранятся в стеке в порядке, в котором функционируют называют значение, например:
sum = a + d
sum = b + c
a = 9
d = 4
b = 2
c = 13
и они вернутся сверху вниз. Теперь моя путаница - если какая-либо операция требует использования d
и c
, а значения возврата стека сверху, как стек получит значения d
и c
, если они находятся в середине стека. Будет ли стек сначала возвращать a, а затем возвращать d ??
Это путаница.
При доступе к стековым переменным не задействовано 'push'ing или' pop'ing. – tkausl
Я в замешательстве, вы имеете в виду «стек» как структуру данных или «стек» в качестве памяти? Если первый случай - не используйте его, если вам понадобятся значения NOT сверху, если последние, переменные находятся в «виртуальной» куче сложной функции, так что это нормально – RafazZ
Почему вы отметили это с [переполнением стека]? –