Как выполняется Python

Визуализация кода Python онлайн: выполнение по шагам

Вставьте любую программу на Python и выполняйте её по одному шагу. Видно, какая строка выполнится следующей, все переменные в каждом вызове функции и стрелки к спискам, словарям и объектам, на которые они ссылаются. Бесплатно, в браузере, без регистрации.

Открыть в редакторе Python ↗
Ввод для input() (по одной строке на вызов)
Выполняется в вашем браузере. До 1000 шагов.

Как визуализировать код на Python

  1. Напишите или вставьте код в поле выше или выберите пример: рекурсию, связный список или класс.
  2. Нажмите «Визуализировать выполнение». Программа выполнится в браузере, и каждый её шаг будет записан.
  3. Нажимайте «Далее» (или стрелку вправо), чтобы перейти на один шаг. Зелёная стрелка отмечает строку, которая выполнится следующей, жёлтая - строку, которая только что выполнилась.
  4. Смотрите на «Фреймы»: глобальные переменные и по одному фрейму на каждый вызов функции, с его локальными переменными и возвращаемым значением.
  5. Следите за стрелками к «Объектам»: если две переменные ссылаются на один и тот же список, их стрелки сходятся в одной точке - сразу видно, где ссылка, а где копия.

Для больших программ, файлов и библиотек откройте код в редакторе Python и воспользуйтесь отладчиком: поставьте точку останова рядом с номером строки, нажмите Debug и идите по шагам с помощью Step Over, Step Into и Continue.

Зачем визуализировать код?

  • Понять циклыВидно каждое повторение цикла for или while и значения, которые он даёт.
  • Разобраться в рекурсииСтек вызовов растёт с каждым рекурсивным вызовом и уменьшается, когда вызовы возвращают результат.
  • Быстрее находить ошибкиВидно точную строку, на которой переменная получает неверное значение, - без лишних print.
  • Изучать алгоритмыСортировка и поиск становятся понятными, когда видно каждое сравнение и каждую перестановку.
  • Любой код на PythonВизуализируйте свои программы, домашние задания и задачи к собеседованиям, а не только готовые примеры.
  • Объяснения ИИПопросите ИИ объяснить непонятную строку или исправить ошибку прямо в редакторе.

Пример: как сортируется список

Поставьте точку останова на строке if items[i] > items[i + 1] и нажмите Debug. После каждого нажатия Continue панель Variables показывает список после очередной перестановки: видно, как самые большие значения уходят в конец.

bubble_sort.py
Открыть в редакторе →
bubble_sort.py
def bubble_sort(values):
    items = list(values)
    for end in range(len(items) - 1, 0, -1):
        for i in range(end):
            # Поставьте точку останова на следующей строке и следите за items.
            if items[i] > items[i + 1]:
                items[i], items[i + 1] = items[i + 1], items[i]
    return items


print(bubble_sort([5, 2, 9, 1]))

Пример: рекурсивная функция по шагам

Поставьте точку останова на строке if n <= 1 и используйте Step Into. В стеке вызовов (Call Stack) появится по одному вызову factorial для каждого значения n, а затем видно, как они возвращаются один за другим.

factorial.py
Открыть в редакторе →
factorial.py
def factorial(n):
    # Заходите в каждый вызов (Step Into) и следите за стеком вызовов.
    if n <= 1:
        return 1
    return n * factorial(n - 1)


print(factorial(4))

Уроки по алгоритмам с анимацией

В этих уроках каждый шаг алгоритма показан анимацией рядом с кодом.

Частые вопросы

Что показывает визуализатор Python?

Он выполняет программу по одному шагу и показывает строку, которая выполнится следующей, переменные глобального фрейма и каждого вызова функции, возвращаемые значения и стрелки от переменных к спискам, словарям, множествам и объектам.

Нужно ли что-то устанавливать?

Нет. Визуализатор запускает Python прямо в браузере, поэтому работает на любом компьютере. Ваш код не отправляется на сервер.

Можно ли визуализировать свой код?

Да. Вставьте любую программу на Python и нажмите «Визуализировать выполнение». Если программа читает input(), строки ввода задаются в поле ввода под кодом. Записывается до 1000 шагов; для более длинных программ используйте отладчик в редакторе Python.

Подходит ли он для изучения алгоритмов?

Да. Пройти цикл или рекурсивную функцию по шагам и увидеть, как меняются значения, - один из лучших способов понять, как работает алгоритм.

Это бесплатно?

Да. Визуализатор и редактор Python бесплатны и не требуют регистрации.