Встречается на собеседованиях • сегодня

Какая стуктура данных управляет цепочкой вызовов

В Python управление цепочкой вызовов (call stack) осуществляется с помощью структуры данных стек (LIFO - Last In, First Out).

При вызове функции её контекст (аргументы, локальные переменные, точка возврата) помещается на вершину стека. При завершении функции контекст снимается с вершины стека, и управление возвращается в предыдущий контекст.

Пример:

python
def a():
    print("Вход в a")
    b()
    print("Выход из a")

def b():
    print("Вход в b")
    c()
    print("Выход из b")

def c():
    print("Вход в c")
    print("Выход из c")

a()

Вывод:

text
Вход в a
Вход в b
Вход в c
Выход из c
Выход из b
Выход из a

При переполнении стека (например, из-за бесконечной рекурсии) возникает исключение RecursionError.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы