Введение в Jupyter Notebook

Jupyter Notebook — это веб-приложение с открытым исходным кодом, которое позволяет нам создавать и обмениваться документами, содержащими живой код, математические уравнения, визуализационные графики и пояснительный текст.

Можно представить это какцифровой интерактивный лабораторный журнал。

Название Jupyter происходит от трёх основных языков, которые он поддерживает:Julia, Python, иR。

Jupyter развился из IPython Notebook. В первые дни он поддерживал только Python; позже он превратился в многоязычный инструмент, но сохранил исходный формат файлов..ipynb。

Какие проблемы решает Jupyter?

  • Исследовательский анализ: В проектах анализа данных или машинного обучения часто нужно пробовать разные фрагменты кода и сразу видеть результаты. Интерактивность Notebook была создана именно для этого.
  • Преподавание и обучение: Код, аннотации, графики и пояснения можно идеально объединить, что делает его идеальным инструментом для создания учебных пособий или заметок для самообучения.
  • Воспроизводимые исследования: Весь процесс анализа (код, данные, результаты) сохраняется в одном файле, что позволяет другим полностью воспроизвести вашу работу.
  • Быстрое прототипирование: Вы можете быстро проверять идеи и тестировать код по частям, не запуская весь скрипт.

Давайте разберём его интерактивные возможности с помощью схемы основного рабочего процесса:

Как показано на схеме выше, это непрерывный цикл «написать -> запустить -> просмотреть -> изменить». Вы можете выполнять всю работу по исследованию, отладке и записи, не покидая этот интерфейс.

Чтобы сделать материал более привлекательным и понятным, я буду использоватьсравнение на основе сценариев,、визуальную аналогию,ивыделение ключевой логики,чтобы оптимизировать этот учебный материал.


Зачем вам нужен Jupyter?

Многие новички задаются вопросом: у меня уже есть PyCharm, Word и Notepad. Зачем мне изучать ещё один инструмент, такой как Jupyter Notebook?

Это можно понять с помощью простой аналогии: если PyCharm — это заводская производственная линия, то Jupyter Notebook — этолабораторный журнал научной лаборатории.。

Таблица сравнения ключевых преимуществ

Критерий сравнения Традиционный код (.py) Инструменты документации (Word/Markdown) Jupyter Notebook (.ipynb)
Состав содержимого Только код Только текст и статические изображения Код + результаты выполнения + интерактивные графики + документация
Как выполняется Нужно запускать весь файл с самого начала Нельзя запускать код Запуск по частям:Запускайте только нужную часть; промежуточные результаты сохраняются навсегда.
Сценарии использования Создание крупномасштабных проектов, развёртывание проектов Написание отчётов, запись заметок Анализ данных, эксперименты с алгоритмами, обучающие демонстрации, быстрое прототипирование

Три мощных инструмента Jupyter

  • Обратная связь в режиме WYSIWYG:В PyCharm необходимо запустить весь скрипт, чтобы увидеть вывод. В Jupyter можно написать одну строку и сразу её выполнить,а результаты выполнения (даже графики) форматируются прямо под кодом.。
  • Грамотное программирование:Оно стирает границу между кодом и документацией. Вы можете вставлять изящно оформленные пояснения между двумя фрагментами кода, прямо как при написании блога, что делает этот подход идеальным для созданияучебных заметок,илилабораторных отчётов,。
  • Лёгкость и низкий порог входа:По сравнению со сложной конфигурацией проекта в IDE (интерпретатор, виртуальная среда, индексация и т. д.), Jupyter гораздо легче и отлично подходит для быстрой проверки небольшой идеи без создания кучи папок.

  • Что такое файл .ipynb?

    Чтобы лучше освоить Jupyter, нам нужно разглядеть.ipynbсуть файла.

    1. В основе всего — JSON (формат обмена данными)

    Хотя на экране мы видим красивый интерфейс, если принудительно открыть.ipynbфайл в Блокноте, вы обнаружите, что на самом деле это фрагментструктурированного текста JSON.。

    • Он использует пары ключ — значение, чтобы записывать: какая строка является кодом, какая строка — текстом, и какие графики построил код.
    • Преимущества:Это означает, что он обладает чрезвычайно сильнойпереносимостью.Вы можете легко поделиться им на GitHub или преобразовать его в PDF, HTML.

    2. Рендеринг: от нечитаемого текста к произведению искусства

    .ipynbСам файл — это всего лишь исходный материал; ему требуетсядвижок рендеринга(например, программа Jupyter Notebook, расширение для VS Code или средство предпросмотра GitHub), чтобы превратить его в привычный интерактивный интерфейс.

    💡 Глубокое размышление:
    Представьте,.ipynbэто как фрагментнотной записи(исходный код JSON), а программа Jupyter — этопианино.Сама нотная запись не может издавать звук, но если есть пианино, любой может исполнять прекрасные мелодии (логику кода и результаты визуализации).


    Техническая архитектура и экосистема Jupyter

    Jupyter — это не просто окно для написания кода; это мощная экосистема, состоящая из множества ключевых компонентов.

    1. Техническая архитектура: от REPL к многоязычным ядрам

    В основе Jupyter лежитинтерактивная модель вычислений.Она основана на браузере и предоставляетREPL(цикл «чтение — вычисление — печать»), опираясь на следующие мощные технологии:

    • Ключевые компоненты:Он объединяетIPython(усовершенствованный интерактивный Python),ØMQ(эффективную очередь сообщений), иTornado(высокопроизводительный веб-сервер).
    • Поддержка нескольких языков (ядра):Что такое ядро? Ядро — это независимая программа, отвечающая за выполнение кода, предоставление автодополнений и выполнение инспекций.
    • Слабо связанная архитектура:Ядро не зависит от конкретного документа; оно может работать локально или быть развёрнуто на удалённом сервере.
    • Универсальная расширяемость:В настоящее время поддерживает, в том числе Python, R, Julia, Haskell,более 100языков программирования (его названиеJu-Py-Terвзято именно из Julia, Python и R).

    2. Преобразование файлов и визуализация (nbconvert & nbviewer)

    Документы Jupyter (.ipynb) по сути являютсяформатом JSON,Чтобы обойти ограничение «просматривать их могут только те, у кого установлен Jupyter», экосистема предоставляет два мощных инструмента:

    • nbconvert (мощный инструмент экспорта):Как швейцарский нож, он преобразует Notebooks в PDF, HTML, Markdown и даже слайды (Reveal.js) и LaTeX.
    • nbviewer (онлайн-предпросмотр):Это веб-сервис. Достаточно указать ему публичный URL Notebook, и он динамически отобразит его в виде красивой веб-страницы, так что получателю не нужно устанавливать какое-либо программное обеспечение.

    3. От Notebook к полноценному экосистемному набору

    По мере развития проекта Jupyter превратился из отдельного инструмента в линейку продуктов, отвечающую потребностям разного масштаба:

    Этап / Инструмент Позиционирование и характеристики Применимые сценарии
    Jupyter Notebook Классическая автономная версия, простое взаимодействие с ячейками. Личные заметки, быстрое прототипирование, учебные демонстрации.
    JupyterLab Интерфейс нового поколенияОн объединяет терминал, файловый браузер, текстовый редактор и поддерживает многооконные макеты. Разработка production-уровня, многозадачные рабочие процессы Data Science.
    JupyterHub Многопользовательская платформа управления. Поддерживает создание и управление несколькими независимыми средами Notebook. Корпоративная командная работа, платформа для университетских учебных экспериментов.

    4. Облачные и отраслевые приложения: билет в эпоху больших данных

    Интерактивная парадигма Jupyter глубоко изменила области научных исследований и инженерии. После 2018 года его популярность даже превзошла популярность традиционного инструмента Mathematica.

    • Поддержка Cloud-native:Почти все крупные облачные провайдеры используют Jupyter в качестве фронтенда для своих ИИ-платформ.
    • Google Colab:Бесплатная облачная среда Jupyter, глубоко интегрированная с Google Drive и предоставляющая поддержку GPU.
    • Amazon SageMaker:Используется для построения, обучения и развертывания моделей машинного обучения.
    • MS Azure Notebooks:Облачная среда для совместной работы, предоставляемая Microsoft.

    💡 Историческая справка:
    Предшественник Jupyter появился в 2011 годуIPython Notebook. Только в 2015 году, чтобы отразить поддержку нескольких языков, он был официально переименован в Jupyter. Вдохновение для этого интерактивного взаимодействия в стиле ноутбука можно проследить до Mathematica в 1980-х годах.

    Другие расширения