Метки

, ,

С недавних пор надстройка над стандартным питоновским шеллом IPython предоставляет возможность удобного оформления расчетов и учебных заданий (на момент написания доступна версия 1.1, а работа ниже показана на примере версии 1.0). Её запуск производится командой


ipython notebook

Подгружается серверное приложение с прослушиванием порта 8888 и в браузере откроется страница с адресом http://127.0.0.1:8888/:

IPython notebook empty screen

В домашнем каталоге пока нет ни одного ноутбука.

Файлы, создаваемые IPython продолжают традицию Wolfram Mathematica и тоже называются ноутбуками. Кнопкой New Notebook, создаем новый файл. Имеющие опыт работы с последними версиями Mathematica увидят много знакомого в открывшемся окне:

IPython notebook start

Начало работы

Основную часть экрана занимает область, заполняемая ячейками, которые могут содержать питоновский код, форматированный и неформатированный текст и латеховские формулы. По умолчанию, новая ячейка предназначается для ввода исполняемого кода. Например, подгрузим numpy & matplotlib и создадим два одномерных массива:

IPython notebook code input

Нажатие Ctrl+Enter выполняет текущую ячейку и оставляет курсор в ней. Чаще, удобней посчитать текущую ячейку и создать новую под ней, для чего служит комбинация клавиш Shift+Enter. Так же можно воспользоваться меню или кнопками со стрелками в кружочках на панели для создания ячеек и Play/Stop для запуска/останова расчета текущей ячейки.

Чтобы изменить тип ячейки, воспользуемся выпадающим списком, в котором сейчас написано Code и выберем Markdown. Для форматирования текста в ноутбуках IPython используется язык разметки Markdown. Его синтаксис напоминает вики-разметку и быстро написать нечто красивое и осмысленное не составит труда. Например, так выглядит ячейка с форматированным текстом во время ввода:

IPython notebook formatted input

и после Shift+Enter:

IPython notebook formatted text

Для всех, кто любит активно использовать LaTeX, есть приятная новость. Формулы рендерятся с помощью MathJax (к слову, используемого крупнейшим архивом препринтов arXiv). Поэтому можно определять свои макросы с помощью \newcommand, использовать окружения \begin{equation} … \end{equation} вместо двойных долларов и наслаждаться богатством пакетов AMS. То есть копирование заметок в латеховский файл для публикации является максимально упрощенным.

Теперь выведем на экран какой-нибудь результат. В коде на скришоте ниже есть так называемая магическая команда %matplotlib с параметром inline. По-умолчанию, графики, рисуемые пакетом matplotlib, выводятся в отдельном окне, что может быть неудобным в данном случае. Эта же команда позволяет встраивать их непосредственно в страницу. Её достаточно выполнить один раз.

IPython screen cell result

Теперь можно сделать то, с чего хорошо начинать любую работу 🙂 Сохранить сделанное. В меню File -> Rename даем осмысленное название ноутбуку вместо Untitled0, например, MyNotes, и сохраняем через File -> Save and Checkpoint. В моем случае, в домашнем каталоге (откуда запускался IPython) появится файл MyNotes.ipynb.

В целом, это всё необходимое для быстрого старта. Документацию можно найти на официальном сайте: http://ipython.org/documentation.html

Реклама