Ячейки и общий документ
Тетрадь состоит из ячеек с Python-кодом и текстовых пояснений. Правки синхронизируются между участниками. Под ячейкой появляются результаты запуска: текст, таблицы, графики или ошибка Python. Доступные действия зависят от правил комнаты и состояния замка.
| Клавиши в редакторе кода | Действие |
|---|---|
| Shift + Enter | Запустить и перейти дальше. |
| Ctrl / ⌘ + Enter | Запустить текущую ячейку. |
| Alt + Enter | Запустить и добавить следующую ячейку. |
Кнопки запуска подходят и для устройств без клавиатуры. Импортируйте .ipynb, когда хотите продолжить подготовленную тетрадь; экспортируйте его, чтобы сохранить переносимую копию кода и результатов.
Одно ядро на комнату
Все ячейки комнаты используют общую память Python. Выполните подготовку один раз, затем используйте значения в следующих ячейках:
# Подготовка преподавателя
numbers = [2, 4, 6]
# Следующая ячейка той же комнаты
sum(numbers) / len(numbers)Порядок исполнения важнее положения ячейки в тетради. Если переменная не определена, выполните ячейку, где она создаётся. Повторный запуск может повторно записать данные или изменить уже изменённый объект.
Перезапуск ядра стирает переменные для всех. Текст тетради и файлы сохраняются. После перезапуска выполняйте подготовительные ячейки заново. Перезагрузка страницы и перезапуск Python — разные операции.
Работа с файлами
В панели файлов есть дерево каталогов. Файл можно загрузить с компьютера, открыть, переместить в папку и скачать. Создание и редактирование определяются правилами; переименование и удаление доступны преподавателю. Текстовые файлы можно редактировать совместно.
Python видит рабочие файлы этой комнаты. Используйте относительные пути, чтобы тетрадь оставалась переносимой:
from pathlib import Path
Path("results").mkdir(exist_ok=True)
Path("results/answer.txt").write_text("42\n", encoding="utf-8")Скачанный .ipynb не является резервной копией всех файлов сервера. Перед самостоятельной работой заберите также данные, изображения и другие зависимости кода.
Общий терминал
Терминал исполняет команды в среде комнаты и показывает общую историю вывода. Правило «Запускать код» распространяется и на него. Команда python analysis.py запускает отдельный процесс Python: переменные ноутбука туда автоматически не переходят, а файлы комнаты остаются общими.
Производственный образ имеет защищённую корневую файловую систему, а выход в сеть комнаты по умолчанию закрыт, кроме DNS. Установка пакетов из интернета во время занятия может не работать. Подготовьте библиотеки заранее через выпуск окружения.
Что переживает остановку
Ноутбук, файлы и сохранённые материалы хранятся на диске. Python-память и процессы зависят от жизни ядра. Обновление сервера или согласованная резервная копия останавливают ядра и теряют их память. Удаление диска сервера уничтожит и файлы, если нет внешней резервной копии.