Шпаргалка по Jupyter Notebook
Основные сочетания клавиш и магические команды
Поднять производительность работы в Jupyter Notebook - основные сочетания клавиш, магические команды и советы по работе, которые преобразуют ваш опыт в области отбработки данных и разработки.

Jupyter Notebook стал де-факто стандартом для интерактивных вычислений, анализа данных и рабочих процессов машинного обучения. Будь то работа с Python для анализа данных, эксперименты с моделями ИИ или прототипирование кода, освоение сочетаний клавиш и магических команд Jupyter может значительно повысить вашу продуктивность.
Этот справочник охватывает наиболее важные команды и сочетания клавиш, которые должен знать каждый пользователь Jupyter, от базовой навигации по ячейкам до продвинутых магических команд, которые оптимизируют ваш рабочий процесс. Если вы новичок в разработке на Python, вам также может быть полезен наш Python Cheatsheet, чтобы понять конструкции языка Python, которые работают безупречно внутри ячеек Jupyter.
Понимание режима команд и режима редактирования
Jupyter Notebook работает в двух различных режимах, которые определяют доступные сочетания клавиш:
- Режим команд (активируется нажатием
Esc): управляет операциями на уровне ячеек, такими как создание, удаление и преобразование ячеек - Режим редактирования (активируется нажатием
Enter): позволяет редактировать содержимое внутри ячейки
Самое важное сочетание клавиш, которое нужно запомнить, — это нажатие H в режиме команд, которое отображает полный справочник по сочетаниям клавиш. Это ваша быстрая справка, когда вы забываете конкретное сочетание.
Основные сочетания клавиш в режиме команд
Навигация и выполнение ячеек
Основной рабочий процесс в Jupyter вращается вокруг эффективного выполнения ячеек:
Shift + Enter: выполнить текущую ячейку и автоматически выбрать ячейку ниже. Это наиболее часто используемое сочетание для последовательного выполнения кода.Ctrl + Enter: выполнить текущую ячейку без перехода к следующей. Идеально, когда вы хотите многократно перезапустить ячейку.Alt + Enter: выполнить текущую ячейку и вставить новую ячейку ниже. Идеально для итеративной разработки, когда нужно часто добавлять новые ячейки.
Управление ячейками
Эффективное управление структурой блокнота важно для поддержания чистых и организованных блокнотов:
A: вставить новую ячейку выше текущей ячейкиB: вставить новую ячейку ниже текущей ячейкиD, D(нажмитеDдважды): удалить текущую ячейку. Будьте осторожны с этой командой!Z: отменить последнее удаление ячейки. Спасает, когда вы случайно удаляете важные ячейки.Shift + M: объединить выбранные ячейки. Выберите несколько ячеек с помощьюShift + JилиShift + Kдля навигации, затем объедините их.
Преобразование типа ячеек
Быстрое переключение между типами ячеек необходимо для создания хорошо документированных блокнотов:
Y: преобразовать ячейку в КодM: преобразовать ячейку в MarkdownR: преобразовать ячейку в Raw (не выполняется, полезно для заметок)1до6: преобразовать ячейку в уровни заголовков 1 до 6 для структурированной документации
Операции с ядром
При работе с длительными вычислениями или отладкой управление ядром является критически важным:
I, I(нажмитеIдважды): прервать ядро. Критически важно, когда нужно остановить бесконечное вычисление.0, 0(нажмите0дважды): перезапустить ядро. Используйте это, когда нужно очистить все переменные и начать заново.
Отображение и навигация
L: переключить нумерацию строк в текущей ячейке. Полезно для отладки и ссылки на конкретные строки.O: переключить вывод ячейки. Скрывайте вывод, чтобы поддерживать чистоту блокнота при презентации.H: показать справочник по сочетаниям клавиш
Основные сочетания клавиш в режиме редактирования
При редактировании кода внутри ячейки эти сочетания клавиш повторяют функциональность обычных текстовых редакторов:
Редактирование текста
Tab: автодополнение кода или отступ. Автодополнение Jupyter мощное и контекстно-зависимое.Shift + Tab: показать подсказку/документацию для объекта под курсором. Это невероятно полезно для изучения API без выхода из блокнота.Ctrl + ]: сделать отступ выбранных строкCtrl + [: снять отступ выбранных строкCtrl + /: переключить комментарий на выбранных строках. Важно для быстрого отключения кода во время отладки.
Навигация
Ctrl + A: выбрать весь текст в ячейкеCtrl + Z: отменитьCtrl + Shift + ZилиCtrl + Y: вернутьCtrl + Home: перейти в начало ячейкиCtrl + End: перейти в конец ячейкиCtrl + Left: переместить курсор на одно слово влевоCtrl + Right: переместить курсор на одно слово вправо
Переключение режимов
Esc: переключиться в режим команд (из режима редактирования)
Магические команды: ускорите свой рабочий процесс
Магические команды — это специальные директивы, которые расширяют функциональность Jupyter. Они бывают двух видов: линейные магические команды (с префиксом %), которые работают с одной строкой, и магические команды для ячеек (с префиксом %%), которые работают с всей ячейкой.
Профилирование производительности
Понимание производительности кода критически важно для оптимизации. Jupyter предоставляет встроенные команды для измерения времени:
# Измерить одно выполнение
%time sum(range(1000000))
# Измерить несколько выполнений с усреднением (более точно)
%timeit sum(range(1000000))
# Измерить всю ячейку
%%time
total = 0
for i in range(1000000):
total += i
Команда %timeit особенно ценна, так как она запускает код несколько раз и предоставляет статистическую информацию о времени выполнения, что делает её идеальной для сравнения различных подходов к одной и той же задаче.
Запуск внешних скриптов
Магическая команда %run позволяет выполнять внешние Python-скрипты внутри вашего блокнота, что упрощает модуляризацию кода:
%run my_script.py
Это особенно полезно при работе с крупными проектами, где вы хотите хранить повторно используемые функции в отдельных файлах. Если вы управляете Python-средами, возможно, вы используете инструменты вроде uv или venv для управления средами, и %run работает безупречно с этими настройками.
Управление пакетами
Вы можете устанавливать и управлять Python-пакетами непосредственно из вашего блокнота:
!pip install numpy pandas matplotlib
!conda install scipy
Это исключает необходимость переключаться между терминалом и блокнотом, упрощая ваш рабочий процесс. Префикс ! выполняет команды оболочки, которые мы рассмотрим более подробно ниже.
Визуализация
Для визуализации данных с matplotlib используйте:
%matplotlib inline
Это гарантирует, что графики отображаются непосредственно внутри ячеек блокнота, обеспечивая плавный опыт визуализации. Вы также можете использовать %matplotlib widget для интерактивных графиков в JupyterLab.
Операции с файлами
Магическая команда %%writefile записывает содержимое ячейки в файл:
%%writefile example.py
def hello_world():
print("Hello, World!")
return True
Это полезно для генерации скриптов или сохранения фрагментов кода непосредственно из вашего блокнота. В свою очередь, вы можете читать файлы с помощью стандартных операций с файлами Python или команд оболочки.
Команды оболочки
Выполняйте команды оболочки непосредственно из ячеек блокнота:
# Однострочная команда оболочки
!ls -l
!pwd
!git status
# Многострочные команды оболочки
%%bash
echo "Hello from Bash"
ls -l
find . -name "*.py" | head -10
Это интеграция мощна для управления файлами, операций контроля версий и системного администрирования без выхода из среды блокнота.
Исследование доступных магических команд
Чтобы узнать о всех доступных магических командах:
# Список всех магических команд
%lsmagic
# Получить справку по конкретной магической команде
%timeit?
%matplotlib?
Оператор ? после любой магической команды отображает её документацию, параметры и примеры использования. Это отличный способ исследовать возможности Jupyter интерактивно.
Продвинутые советы и лучшие практики
Организация вашего блокнота
-
Используйте ячейки Markdown активно: хорошо документированные блокноты легче понять и поддерживать. Используйте уровни заголовков (1-6) для создания четкой структуры.
-
Держите ячейки фокусированными: каждая ячейка должна иметь одну четкую цель. Это облегчает отладку и улучшает читаемость.
-
Используйте номера выполнения ячеек: номера выполнения (In [1], In [2] и т.д.) помогают отслеживать порядок выполнения, что критически важно, когда ячейки могут выполняться в произвольном порядке.
Работа с большими блокнотами
Когда блокноты становятся большими, эти техники помогают поддерживать организацию:
- Используйте расширение оглавления (если доступно) для навигации
- Разделяйте связанные разделы на отдельные блокноты
- Используйте
%%writefile, чтобы извлечь повторно используемый код в Python-модули - Регулярно перезапускайте ядро и выполняйте все ячейки, чтобы обеспечить воспроизводимость
Интеграция с другими инструментами
Jupyter Notebooks отлично работают с современными инструментами Python. Если вы работаете с LLMs и вам нужны структурированные выходные данные, вы можете интегрировать блокноты с инструментами вроде Ollama для структурированных выходных данных LLM. Для веб-скрапинга и обработки данных вы можете использовать библиотеки, которые конвертируют HTML в Markdown, как мы рассматривали в нашем руководстве по конвертации HTML в Markdown.
Рабочий процесс отладки
- Используйте магическую команду
%debugпосле исключения, чтобы войти в отладчик - Используйте
%pdb on, чтобы автоматически входить в отладчик при исключениях - Сообщения print и
%timeitпомогают выявить узкие места производительности - Перезапустите ядро (
0, 0), когда переменные попадают в неожиданные состояния
Настройка
Вы можете настроить сочетания клавиш, перейдя в Help → Keyboard Shortcuts в меню Jupyter Notebook. Это позволяет адаптировать среду под ваши конкретные предпочтения рабочего процесса.
Заключение
Освоение сочетаний клавиш и магических команд Jupyter Notebook превращает его из простого редактора кода в мощную интерактивную среду вычислений. Начните с запоминания наиболее часто используемых сочетаний (Shift+Enter, Esc, A, B, D+D, M, Y), затем постепенно внедряйте магические команды в свой рабочий процесс. Время, потраченное на изучение этих команд, окупается с лихвой в виде повышения продуктивности и эффективности рабочего процесса.
Помните: нажмите H в режиме команд в любое время, чтобы увидеть полный справочник по сочетаниям клавиш, и используйте %lsmagic, чтобы исследовать все доступные магические команды. Счастливого кодинга!
Полезные ссылки
- Python Cheatsheet
- uv - Новый менеджер пакетов, проектов и сред Python
- venv Cheatsheet
- LLMs с структурированным выводом: Ollama, Qwen3 & Python или Go
- Конвертация HTML в Markdown с помощью Python: Полное руководство