Визуализация кода Python онлайн: выполнение по шагам
Вставьте любую программу на Python и выполняйте её по одному шагу. Видно, какая строка выполнится следующей, все переменные в каждом вызове функции и стрелки к спискам, словарям и объектам, на которые они ссылаются. Бесплатно, в браузере, без регистрации.
Ввод для input() (по одной строке на вызов)
Как визуализировать код на Python
- Напишите или вставьте код в поле выше или выберите пример: рекурсию, связный список или класс.
- Нажмите «Визуализировать выполнение». Программа выполнится в браузере, и каждый её шаг будет записан.
- Нажимайте «Далее» (или стрелку вправо), чтобы перейти на один шаг. Зелёная стрелка отмечает строку, которая выполнится следующей, жёлтая - строку, которая только что выполнилась.
- Смотрите на «Фреймы»: глобальные переменные и по одному фрейму на каждый вызов функции, с его локальными переменными и возвращаемым значением.
- Следите за стрелками к «Объектам»: если две переменные ссылаются на один и тот же список, их стрелки сходятся в одной точке - сразу видно, где ссылка, а где копия.
Для больших программ, файлов и библиотек откройте код в редакторе Python и воспользуйтесь отладчиком: поставьте точку останова рядом с номером строки, нажмите Debug и идите по шагам с помощью Step Over, Step Into и Continue.
Зачем визуализировать код?
- Понять циклыВидно каждое повторение цикла
forилиwhileи значения, которые он даёт. - Разобраться в рекурсииСтек вызовов растёт с каждым рекурсивным вызовом и уменьшается, когда вызовы возвращают результат.
- Быстрее находить ошибкиВидно точную строку, на которой переменная получает неверное значение, - без лишних print.
- Изучать алгоритмыСортировка и поиск становятся понятными, когда видно каждое сравнение и каждую перестановку.
- Любой код на PythonВизуализируйте свои программы, домашние задания и задачи к собеседованиям, а не только готовые примеры.
- Объяснения ИИПопросите ИИ объяснить непонятную строку или исправить ошибку прямо в редакторе.
Пример: как сортируется список
Поставьте точку останова на строке if items[i] > items[i + 1] и нажмите Debug. После каждого нажатия Continue панель Variables показывает список после очередной перестановки: видно, как самые большие значения уходят в конец.
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, а затем видно, как они возвращаются один за другим.
def factorial(n):
# Заходите в каждый вызов (Step Into) и следите за стеком вызовов.
if n <= 1:
return 1
return n * factorial(n - 1)
print(factorial(4))
Уроки по алгоритмам с анимацией
В этих уроках каждый шаг алгоритма показан анимацией рядом с кодом.
- Линейный поиск (linear search) в Python
- Двоичный поиск (binary search) в Python
- Сортировка пузырьком (bubble sort) в Python
- Сортировка выбором (selection sort) в Python
- Сортировка вставками (insertion sort) в Python
- Сортировка слиянием (merge sort) в Python
- Быстрая сортировка (quick sort) в Python
- Поиск в ширину (BFS) в Python
- Поиск в глубину (DFS) в Python
Частые вопросы
Что показывает визуализатор Python?
Он выполняет программу по одному шагу и показывает строку, которая выполнится следующей, переменные глобального фрейма и каждого вызова функции, возвращаемые значения и стрелки от переменных к спискам, словарям, множествам и объектам.
Нужно ли что-то устанавливать?
Нет. Визуализатор запускает Python прямо в браузере, поэтому работает на любом компьютере. Ваш код не отправляется на сервер.
Можно ли визуализировать свой код?
Да. Вставьте любую программу на Python и нажмите «Визуализировать выполнение». Если программа читает input(), строки ввода задаются в поле ввода под кодом. Записывается до 1000 шагов; для более длинных программ используйте отладчик в редакторе Python.
Подходит ли он для изучения алгоритмов?
Да. Пройти цикл или рекурсивную функцию по шагам и увидеть, как меняются значения, - один из лучших способов понять, как работает алгоритм.
Это бесплатно?
Да. Визуализатор и редактор Python бесплатны и не требуют регистрации.