Python онлайн - IDE, редактор, компилятор, интерпретатор

RSS

Пишите и запускайте код на Python 3.12 онлайн без установки. Стандартная библиотека, input() и пакеты вроде NumPy и pandas подгружаются автоматически. Код выполняется в вашем браузере.

Python 3.12 (Pyodide 0.26) · Работает в браузере, поэтому ваш код никогда не попадает на наши серверы.
main.pyPython
Результат

            
Ввод (stdin), одна строка на каждый вызов input()
Ctrl/⌘ + Enter для запуска

Возможности онлайн-компилятора Python (IDE, редактор и интерпретатор)

Пишите, запускайте и тестируйте код на Python онлайн бесплатно. Эта страница — онлайн-IDE, редактор кода, компилятор и интерпретатор Python в одном: введите код, нажмите «Запустить» и сразу увидите результат. Все работает в браузере — ничего не нужно устанавливать и не нужно создавать аккаунт.

  • Мгновенный запуск кода: Python 3.12 (Pyodide 0.26), вывод менее чем за секунду после первой загрузки.
  • Редактор кода: подсветка синтаксиса, номера строк, подсветка парных скобок и автозакрытие скобок.
  • Ввод программы (stdin): введите данные, которые читает программа, до ее запуска.
  • Понятные ошибки: сообщения об ошибках и предупреждения появляются в панели вывода так же, как на вашем компьютере.
  • Полноэкранный режим: Ctrl/⌘ + Shift + F, настраиваемый размер шрифта, расположение рядом или друг под другом и изменяемые размеры панелей.
  • Автосохранение: ваш код хранится в браузере; скачайте его как main.py или скопируйте одним щелчком.
  • Безопасные эксперименты: ограничение времени и кнопка «Остановить» прерывают бесконечные циклы.
  • Конфиденциальность: среда выполнения Python работает на вашем устройстве, поэтому код никогда не загружается на сервер.
  • Темная тема и сочетания клавиш: Ctrl/⌘ + Enter запускает код.
  • Бесплатно: без регистрации и ограничений использования.

Изучайте другие языки программирования

Как пользоваться онлайн-компилятором Python

  1. Напишите или вставьте код в редактор. На странице сразу есть короткий пример; кнопка Сбросить пример в любой момент возвращает его.
  2. Если программа вызывает input(), введите ответы в поле Ввод (stdin) под панелью вывода — по одной строке на каждый вызов input().
  3. Нажмите кнопку Запустить или сочетание Ctrl + Enter (⌘ + Enter на Mac).
  4. Посмотрите результат на панели Результат. Всё, что выводится в stderr, включая трассировки ошибок (traceback), выделяется как ошибка.
  5. В списке Ограничение времени выберите 5, 15 или 60 секунд. Если скрипт работает дольше (например, из-за случайного while True:), он останавливается автоматически. Кроме того, в любой момент можно нажать кнопку Остановить.

При первом запуске загружается среда выполнения Python — около 10 МБ. Браузер кэширует её, поэтому последующие запуски начинаются гораздо быстрее. Чтобы сохранить скрипт, нажмите Копировать или main.py.

Ваш код никогда не покидает устройство. Python работает прямо в вашем браузере в Web Worker, поэтому ничего не загружается на наши серверы и не хранится там. Редактор запоминает ваш последний код в локальном хранилище браузера — и больше нигде.

Что поддерживается

Компилятор использует Python 3.12 через Pyodide 0.26 — интерпретатор CPython, скомпилированный в WebAssembly. Это настоящий CPython, а не имитация Python, поэтому язык ведёт себя точно так же, как на вашем компьютере.

  • Стандартная библиотека: math, collections, itertools, datetime, json, re, dataclasses, statistics и другие модули.
  • Автоматическая загрузка пакетов: когда код импортирует пакет, который есть в Pyodide, например NumPy или pandas, он загружается на лету. Доступно множество пакетов на чистом Python и научных библиотек.
  • Стандартный ввод через input() и sys.stdin, данные берутся из поля stdin.
  • async/await: код выполняется через runPythonAsync, поэтому await на верхнем уровне работает.

Ограничения, которые стоит учитывать:

  • Нет сетевых сокетов. Модули вроде socket, urllib.request и requests не могут открывать соединения отсюда.
  • Нет постоянных файлов. Создавать и читать файлы через open() можно, но они хранятся в памяти и пропадают при перезагрузке страницы или нажатии «Остановить».
  • Графики не отображаются. matplotlib можно импортировать, но графики не выводятся, поэтому печатайте числа или таблицы.
  • Пакеты с нативным кодом, которых нет в Pyodide, установить нельзя.

Краткий справочник по Python

from dataclasses import dataclass

@dataclass
class Item:
    name: str
    price: float

cart = [Item("pen", 1.5), Item("book", 12.0)]
total = sum(i.price for i in cart)
print(f"{len(cart)} items, total {total:.2f}")

if total > 10 and cart:
    print("Free shipping!")
ЗадачаСинтаксис
Вывести форматированный текстprint(f"{x:.2f}")
Прочитать строку вводаname = input("Name? ")
Преобразовать ввод в числоn = int(input())
Генератор списка[x * 2 for x in data if x > 0]
Цикл по словарюfor k, v in d.items():
Обработать ошибкуtry: ... except ValueError as e: ...

Советы

  • Если программа запрашивает ввод чаще, чем в поле stdin есть строк, Python выбрасывает EOFError. Добавьте строку для каждого вызова input().
  • Крупные импорты вроде pandas в первый раз занимают несколько секунд. Загрузка входит в ограничение времени, поэтому для тяжёлых скриптов выбирайте 60 с.
  • При каждом запуске переменные создаются заново, но уже импортированные модули остаются загруженными, поэтому повторные запуски проходят быстро.
  • Работаете с выводом в JSON? Вставьте его в инструмент Форматирование и валидация JSON, чтобы отформатировать его в читаемом виде и проверить.
Совет: нажатие кнопки Остановить выключает среду выполнения Python. При следующем запуске она снова загружается из кэша браузера, на что уходит несколько мгновений.

Часто задаваемые вопросы

Это настоящий интерпретатор Python?

Да. Pyodide — это CPython 3.12, скомпилированный в WebAssembly. Синтаксис, встроенные функции и стандартная библиотека совпадают с настольным Python. Основные отличия связаны с работой в браузере: нет доступа к сети и постоянной файловой системы.

Можно ли использовать NumPy и pandas?

Да. Импортируйте их как обычно, и они загрузятся при первом запуске кода. Многие другие научные пакеты и пакеты на чистом Python, которые есть в Pyodide, загружаются так же.

Как передать программе входные данные?

Введите значения в поле stdin — по одной строке на каждый вызов input(), в том порядке, в котором программа их запрашивает. Затем нажмите «Запустить».

Почему скрипт останавливается через 15 секунд?

Ограничение времени по умолчанию защищает от бесконечных циклов, которые подвесили бы вкладку. Для более долгих вычислений выберите 60 с в списке «Ограничение времени».

Можно ли запускать и другие языки?

Да. Попробуйте онлайн-компилятор JavaScript или посмотрите все бесплатные инструменты разработчика.

Обновлено

Скопировано в буфер обмена