Как писать код на Python прямо в веб-браузере

Раздел: Инструменты -> Онлайн-редакторы

Основной инструмент: Google Colab

Google Colab - это бесплатная облачная среда для выполнения кода Python, ориентированная на научные вычисления и машинное обучение. Достоинства: доступ к GPU/TPU, предустановленные библиотеки, интеграция с Google Drive, возможность совместной работы.

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


# Вывод приветствия
print('Привет, мир!')

# Работа с переменными
a = 10
b = 20
print('Сумма:', a + b)

# Импорт библиотеки и построение графика
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
plt.plot(x, np.sin(x))
plt.title('Синусоида')
plt.show()

писать код онлайн python (писать код онлайн на python)

После выполнения в ячейке отобразится вывод: строка с приветствием, сумма, а затем график.

Возможные проблемы:

  • Ограничение времени выполнения: ячейки могут отключаться после длительной работы. Решение: сохранять промежуточные результаты на диск.
  • Сброс состояния при отключении: все переменные теряются. Нужно перезапускать ячейки.
  • Недоступность некоторых библиотек: в Colab по умолчанию установлены не все. Установка через `!pip install`.

Как мгновенно протестировать простую строку кода?

Официальный сайт Python предлагает упрощённую консоль на странице python.org/shell. Это реализация Python в браузере на основе Pyodide. Не требует регистрации, идеально для быстрых экспериментов.


# Одна строка
print(2**10)

При нажатии Enter в консольной строке отображается результат: 1024.

Ограничения: нет возможности сохранить код, нельзя установить дополнительные пакеты, доступен только один модуль (несколько строк вводятся по одной). Для серьёзной работы непригоден.

Как организовать проект с возможностью совместного редактирования?

Replit - облачная IDE с поддержкой многих языков, включая Python. Позволяет создавать файлы, устанавливать пакеты, использовать веб-серверы. Бесплатный тариф достаточен для обучения и прототипирования.


# Простой скрипт для чтения файла
with open('sample.txt', 'w') as f:
    f.write('Hello from Replit!')
with open('sample.txt', 'r') as f:
    print(f.read())

Вывод: "Hello from Replit!".

Проблемы: бесплатная версия имеет ограничения по времени выполнения (несколько часов в месяц), проекты публичны по умолчанию. Решение - переключить приватность или использовать платный план.

Как вести документацию с живым кодом и визуализацией?

Сервисы вроде MyBinder позволяют запускать Jupyter Notebook из репозитория GitHub. Deepnote предлагает удобный интерфейс с автодополнением и встроенным чатом. Такие среды незаменимы для анализа данных.


# Блокнот: импорт данных и описание
import pandas as pd
import io
# Пример загрузки данных из URL
url = 'https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv'
df = pd.read_csv(url)
df.head()

В ячейке отобразится таблица с первыми строками датасета iris.

MyBinder может долго запускаться (до нескольких минут). Deepnote требует регистрации, но предлагает бесплатный лимит на количество проектов. Проблема: случайное отключение ядра.

Как получить задание и проверку решения прямо в браузере?

Платформы Stepik, Codecademy, DataCamp предлагают встроенные редакторы с тестами. Код выполняется на сервере, результат сравнивается с ожидаемым. Идеально для обучения.


# Пример задачи на Stepik: найти сумму чисел списка
def sum_list(lst):
    return sum(lst)
# тест
print(sum_list([1,2,3]))

После отправки решения платформа показывает вердикт: "Тест пройден" или сообщение об ошибке.

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

Подробные примеры использования онлайн-сред

Обработка изображений в Google Colab с использованием PIL

Загрузим изображение по URL, уменьшим его и сохраним. Для работы потребуется библиотека Pillow (уже предустановлена).

Пример

import requests
from PIL import Image
from io import BytesIO

url = 'https://upload.wikimedia.org/wikipedia/commons/thumb/4/47/PNG_transparency_demonstration_1.png/300px-PNG_transparency_demonstration_1.png'
response = requests.get(url)
img = Image.open(BytesIO(response.content))
print('Исходный размер:', img.size)
# Уменьшение в 2 раза
img_resized = img.resize((img.width//2, img.height//2))
img_resized.save('resized_image.png')
print('Изображение сохранено. Новый размер:', img_resized.size)
Исходный размер: (300, 300)
Изображение сохранено. Новый размер: (150, 150)

Простой телеграм-бот на Replit

Создадим бота, который отвечает на команду /start. Для этого потребуется токен от @BotFather. В Replit можно использовать секреты (Secrets) для токена.

Пример

import telebot
import os

TOKEN = os.getenv('TOKEN')  # задайте в Secrets
bot = telebot.TeleBot(TOKEN)

@bot.message_handler(commands=['start'])
def send_welcome(message):
    bot.reply_to(message, 'Привет! Я бот, созданный на Replit.')

bot.polling()

После запуска бот будет отвечать на команду /start.

(в чате Telegram)
Пользователь: /start
Бот: Привет! Я бот, созданный на Replit.

Анализ текста с NLTK в MyBinder

Загрузим книгу „Alice in Wonderland“ из проекта Gutenberg и проведем базовую токенизацию.

Пример

import nltk
import urllib.request
nltk.download('punkt')
url = 'https://www.gutenberg.org/files/11/11-0.txt'
response = urllib.request.urlopen(url)
text = response.read().decode('utf-8')
tokens = nltk.word_tokenize(text[:1000])
print(tokens[:30])
[nltk_data] Downloading package punkt to /home/jovyan/nltk_data...
[nltk_data]   Package punkt is already up-to-date!
['\ufeff', 'The', 'Project', 'Gutenberg', 'eBook', 'of', 'Alice', "'", 's', 'Adventures', 'in', 'Wonderland', ',', 'by', 'Lewis', 'Carroll', ...]

Визуализация данных с Plotly в Deepnote

Импортируем библиотеку plotly и построим гистограмму случайного распределения.

Пример

import plotly.express as px
import numpy as np

np.random.seed(42)
data = np.random.normal(0, 1, 1000)
fig = px.histogram(x=data, nbins=30, title='Гистограмма нормального распределения')
fig.show()
(график отображается интерактивно в блокноте)

Работа с API OpenWeatherMap в Replit

Получим данные о текущей погоде в Москве. Ключ API нужно получить на openweathermap.org.

Пример

import requests
API_KEY = os.getenv('WEATHER_API')
city = 'Moscow'
url = f'http://api.openweathermap.org/data/2.5/weather?q={city}&appid={API_KEY}&units=metric'
response = requests.get(url)
data = response.json()
print(f'Температура: {data["main"]["temp"]}°C')
print(f'Влажность: {data["main"]["humidity"]}%')
Температура: 5.2°C
Влажность: 78%

Писать код онлайн на Python - comments

En
писать код онлайн python (python)