Jupyter Notebook


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


Раньше она называлась IPython Notebook, но название сменили, чтобы подчеркнуть совместимость не только с Python, но и другими языками программирования.


Это крайне удобный инструмент для проведения экспериментов (как чисто математических, так и связанных с обработкой данных от приборов) и оформления результатов в виде профессиональных научных статей. А вообще человечество нашло ему бесчисленные применения - от дизайна электронных схем до обработки астрономических фотографий.



Существует несколько вариантов использования Jupyter онлайн, без установки программ. Но они либо платные, либо медленные и имеют весьма ограниченные возможности. Самый простой вариант находится здесь.


Поэтому лучше всего установить Jupyter на свой компьютер и ни от кого в этом плане не зависеть.

Тем более, что это просто. Добрые люди из фирмы Continuum Analytics собрали Python, Jupyterболее 400 математических, научных, инженерных и аналитических расширений для них) в один пакет, называемый Anaconda.


Установка Jupyter Notebook


Скачайте и установите всё необходимое одним файлом по ссылке для своей операционной системы:



Запускаем Jupyter Notebook


После обыкновенного процесса установки в меню Программы должна появиться папка Anaconda и в ней ряд интересных вещей. Можете поразбиратсья с ними самостоятельно, а нас сейчас интересует только IPython (Py 3.4) Notebook.



При нажатии на нее происходит две вещи:



Чёрное окошко это сама программа, которая проводит все вычисления. На него, в принципе, можно не обращать внимания. Однако если его закрыть, то Jupyter не будет работать. Так что можно его свернуть или просто оставить на заднем плане.

А в браузере мы видим систему навигации по файлам и папкам. Тут всё интуитивно понятно. Давайте создадим свой файл. Для этого справа вверху нажмите кнопку New.



Здесь можно создать текстовые файлы (Text File), папки (Folder) и, самое интересное: тетради (Notebooks). У нас по умолчанию установлен язык програмирования Python 3, поэтому можно создать только такую тетрадь. Если Вы программируете на разных языках, то можете настроить систему так, чтобы выбирать нужный в данный момент язык.


Итак, выбираем Python 3.

В браузере открывается новая вкладка. Это и есть наша новая чистая тетрадь. Вверху расположены разнообразные элементы управления, а зеленым выделена единственная пока ячейка.



Да, тетради здесь состоят из ячеек. Это очень удобно. Настолько удобно, что люди, как правило, перестают пользоваться текстовыми редакторами типа Word и пишут в этих тетрадках не только программы, но и всё подряд - от книг до научных статей. Собственно, все материалы проекта OpenFabLab написаны именно так.


Работа в Jupyter Notebook


Давайте что-нибудь напишем в нашей ячейке. Ну, хоть что нибудь. Например, 2+2



Теперь для запуска кода на исполнение нажмите вот такую кнопку:



И получите результат:



Внизу нашей ячейки появилось поле с результатом. Кроме того, вы видите метки In[1] и Out[1]. Эти метки, как мы ещё увидим, позволяют использовать содержимое ячеек в дальнейших вычислениях.

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


Ну, например, давайте узнаем чему равно 123456789. В языке Python умножение обозначается знаком звездочки: *, а возведение в степень - двойной звездочкой: **

После того, как я набрал это выражение и запустил его, опять возникла новая ячейка. Но вместо ответа слева от задания появилась метка со звездочкой: In[*]



Это значит, что программа находится в процессе вычислений. Ну это логично - выражение мы задали не самое простое.

А через несколько секунд появился результат. Содержащий сотни тысяч цифр! Они, конечно, не уместились на экран и поэтому справа видна полоса прокрутки для пролистывания ответа.



Вы можете самостоятельно поразбираться в назначении различных кнопок и пунктов меню. Все они, пожалуй, интуитивно понятны. Единственное, что я обнаружил случайно - это удобное переименование файла путем клика по его названию (название отображается рядом с логотипом Jupyter, для новых файлов это обычно что-то вроде Untitled1).

Файлы тетрадей хранятся с расширением .ipynb и представляют собой набор данных в формате JSON. Это довольно удобно для их машинной обработки в сети.


Обучение работе с Jupyter Notebook


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


Поэтому мы рекомендуем использовать механизм интерактивного онлайн-курса OpenFabLab для пошагового и, в то же время, целенаправленного знакомства с возможностями этого мощного инструмента.

Установите Jupyter Notebook и начните с задачи № 163, а потом система сама будет предлагать новые задания, учитывая уже полученные вами знания.