Что такое jupyter-ноутбук и зачем он нужен

Что такое jupyter-ноутбук и зачем он нужен

Рассказываем о необычной среде разработки

Если вы хотите писать на Python или заниматься дата-сайенсом, вот классная штука для вас. Это уже, считай, стандарт для огромного числа питонистов, наслаждайтесь. 

Что такое jupyter-ноутбук

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

В такой среде разработки можно, например, написать функцию и сразу проверить её работу, без запуска программы целиком. А ещё можно поменять порядок выполнения кода. Можно отдельно загрузить файл в память, отдельно проверить его содержимое, отдельно обработать содержимое. 

А ещё в jupyter-ноутбуках есть вывод результата сразу после фрагмента кода. Например, можно прямо в середине кода увидеть построенный график, получить предварительные цифры или любую другую визуализацию.

Какие языки поддерживаются

Чаще всего, когда говорят о jupyter-ноутбуках, имеют в виду работу с Python. Но на самом деле можно работать и с другими:

  • Ruby
  • Perl
  • R
  • bash-скрипты

Для этого используют специальные магические команды, которые так и называются — magic-команды. Они позволяют запускать код на других языках, а ещё существенно расширяют возможности обычного Python. Про эти команды мы поговорим в отдельной статье.

Ноутбук в облаке

Jupyter-ноутбуки запускаются на компьютере или в облаке. 

Проще всего начать работать с ноутбуком в облаке, например Google Colab. Это значит, что вам достаточно запустить браузер и открыть нужную страницу. После этого облачная система выделит для вас ресурсы и позволит выполнять любой код. 

Плюс подхода в том, что вам не нужно ничего устанавливать на компьютер — облако всё берёт на себя, а вы просто пишете и запускаете код. 

Минус — программа может работать не так быстро, как на локальной машине. Ещё если вам нужны какие-то экзотические библиотеки, в облаке их может не оказаться.

Что такое jupyter-ноутбук и зачем он нужен
Ноутбук в гугл-облаке
Что такое jupyter-ноутбук и зачем он нужен
Ресурсы, которые нам выделило облако для работы с кодом

Ноутбук на компьютере

Если вы сами хотите контролировать всё, что происходит с кодом и со средой разработки, тогда нужно установить jupyter-ноутбук себе на компьютер. 

Так как основная среда в таком ноутбуке — это Python, то для работы у вас уже должен быть установлен Python, после сам ноутбук ставится так:

pip3 install jupyter

После установки ноутбук готов к запуску:

jupyter notebook

Эта команда откроет браузер, запустит локальный сервер для работы ноутбука и покажет нам готовую среду разработки:

Что такое jupyter-ноутбук и зачем он нужен

Альтернативный способ — установить «Анаконду», и там будет всё: и Python, и Jupyter, и куча других нужных и полезных инструментов.

Как работать с ноутбуком

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

Что такое jupyter-ноутбук и зачем он нужен

То же самое в jupyter-ноутбуке в гугл-облаке:

Что такое jupyter-ноутбук и зачем он нужен

Где применяются jupyter-ноутбуки

Основная область применения ноутбуков — машинное обучение, нейросети, визуализация данных и статистика.  

Ещё такую среду часто используют для поэтапной разработки, когда нужно по шагам проверять работу разных фрагментов кода. Дело в том, что код в ноутбуках хранится в независимых ячейках и его можно запускать в любом порядке или поодиночке. Это позволяет быстро экспериментировать с алгоритмами и находить оптимальное решение.

Также jupyter-ноутбуки используются при обучении программированию на Python, чтобы писать код и сразу видеть результат его работы. 

Что дальше

В следующий раз освоим ноутбуки на практике — сделаем свой ноутбук с красивыми графиками и блоками кода.

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Виталий Вебер

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Flipper Zero: как устроен хакерский тамагочи
Flipper Zero: как устроен хакерский тамагочи

И сколько на нём можно заработать.

easy
Владимир Олохтонов о работе старшего разработчика в Авито
Владимир Олохтонов о работе старшего разработчика в Авито

Путь от монтажника локальных сетей до инженера машинного обучения.

easy
JavaScript для новичков: чем опасны нестрогие типы данных
JavaScript для новичков: чем опасны нестрогие типы данных

В JavaScript есть удобная штука, которая может сильно вам навредить.

medium
Почему программистам сложно работать со временем в программах
Почему программистам сложно работать со временем в программах

Потому что иногда появляется время 23:59:60

medium
Кто такой фулстек-разработчик и что он умеет
Кто такой фулстек-разработчик и что он умеет

Разработчик, который умеет всё, но понемногу

easy
Начинающим программистам: что такое фреймворки и библиотеки
medium
За что админы любят SSH

И почему вам тоже нужно его полюбить.

easy
Зарплата 180 000. Что нужно уметь разработчику
Зарплата 180 000. Что нужно уметь разработчику

Кто готов платить эти деньги и за что.

easy
Домены для вашего сайта
Домены для вашего сайта

Где брать, сколько стоят, какие классные и как там с персданными обстоит вопрос

easy
Что такое Пик Балмера
Что такое Пик Балмера

И почему это не про продуктивность.

easy
Что такое стек
Что такое стек

И почему так страшен стек-оверфлоу.

medium
Как устроен React
Как устроен React (на примере статьи про эпидемию)

Это как JavaScript, только интереснее.

hard
Объясняем объекты

Главное понятие современных подходов к программированию.

hard
medium