Всем привет!

В этой статье я расскажу о новом комфортном способе программировать на Python.

Это больше похоже не на программирование, а на создание статей (отчетов/демонстраций/исследований/примеров): среди блоков кода на Python можно вставлять обычный поясняющий текст. Результатом выполнения кода является не только числа и текст (как в случае с консолью при стандартной работе с Python), но еще и графики, диаграммы, картинки…

Примеры документов, которые вы сможете создавать:

Выглядит классно? Хотите создавать такие же документы? Тогда данная статья для вас!

Сначала необходимо установить пакет Anaconda. Что это такое? Это полностью настроенный Python вместе с предустановленным комплектом самых популярных модулей. Anaconda также включает среду JupyterLab, в которой мы и будем создавать документы с Python кодом.

Если Python у вас уже установлен, то сначала удалите его. Сделать это можно через панель «Программы и компоненты» в «Панели управления».

Скачивание

Скачивайте Anaconda для Python 3.6 (Windows 7 и выше) или для Python 2.7 (Windows XP).

Установочный файл весит 500+ MB, так что закачиваться он может достаточно долго.

Установка

Запустите скачанный файл. Откроется окно установщика. На первых двух страницах сразу кликайте «Next». Далее можно выбрать, установить Anaconda только для текущего пользователя компьютера, или для всех.

Важно! В следующем окне нужно указать путь, по которому будет установлена Anaconda. Выбирайте путь, который не содержит папок с пробелами в названии (например, Program Files) и не содержит не английских символов юникода (например, русских букв)!

Игнорирование этих правил может привести к проблемам при работе с разными модулями!

Лично я создал папку Anaconda прямо в корне диска C и указал следующий путь:

На последнем окне будут две галочки. Оставьте все, как есть.

Наконец, начнется установка. Она может занять ~10 минут. Можете спокойно выпить чаю 🙂

Anaconda Navigator

После успешной установки Anaconda запустите программу Anaconda Navigator из меню Пуск. При запуске вы должны увидеть вот этот логотип:

Затем откроется и сам навигатор. Это отправная точка для работы с Anaconda.

В центральной части окна расположены различные программы, которые входят в пакет Anaconda. Часть их них уже установлена.

В основном мы будем пользоваться «jupyterlab»: именно в ней и создаются красивые документы.

В левой части приведены разделы навигатора. По умолчанию открыт раздел «Home». В разделе «Environments» можно включать/отключать/загружать дополнительные модули Python с помощью удобного интерфейса.

JupyterLab

В разделе навигатора «Home» запустите (кнопка «Launch») программу «jupyterlab» (самая первая в списке).

У вас должен открыться браузер по умолчанию со средой JupyterLab в отдельной вкладке.

Слева отображается содержимое папки C:\Users\<ИМЯ_ВАШЕЙ_УЧЕТНОЙ_ЗАПИСИ> .

Справа открыт файл блокнота «untitled.ipynb». Если справа ничего нет, то вы можете создать новый пустой блокнот, нажав на «+» в левом верхнем углу и выбрав «Notebook Python 3»:

Блокнот

Самое время разобраться с тем, что из себя представляют блокноты.

Обычно мы пишем Python код в файлах с расширением.py , а затем интерпретатор Python их выполняет и выводит данные в консоль. Для удобной работы с такими файлами часто используют среды программирования (IDE). К их числу относится и PyCharm, о котором я рассказывал в статье .

Но есть и другой подход. Он заключается в создании блокнотов (notebook) с расширением ipynb . Блокноты состоят из большого количества блоков. Есть блоки с простым текстом, а есть блоки с кодом на Python.

Попробуйте ввести в первый блок в блокноте какой-нибудь Python код. Например, я создаю переменную, равную сумме чисел 3 и 2:

На следующей строке мы просто пишем название этой переменной. Зачем? Сейчас увидите.

Теперь нужно выполнить этот блок. Для этого нажмите на значок треугольника в панели инструментов над блокнотом или комбинацию клавиш Ctrl + Enter:

Под блоком с Python кодом появился еще один блок, который содержит вывод результатов выполнения предыдущего блока. Сейчас вывод содержит число 5. Это число выводит как раз вторая строчка написанного нами блока.

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

Но выводить значения (числа и текст) переменных (пусть и через функцию) можно и в других средах программирования.

Попробуем сделать что-нибудь посложнее. Например, вывести какую-нибудь картинку.

Создайте новый блок с помощью кнопки в панели инструментов над блокнотом.

В это блоке мы закачиваем логотип Anaconda из сайта Wikimedia и выводим его:

From PIL import Image import requests image_url = "https://upload.wikimedia.org/wikipedia/en/c/cd/Anaconda_Logo.png" im = Image.open(requests.get(image_url, stream=True).raw) im

Результат будет выглядеть так:

Вот на такое обычные среды разработки не способны. А в JupyterLab - запросто!

Теперь давайте попробуем добавить блок с обычным текстом между двумя уже созданными блоками с Python кодом. Для этого щелчком выделите первый блок и добавьте новый блок через кнопку в панели инструментов. Новый блок будет вставлен сразу за первым блоком.

Если вы все сделали правильно, то результат будет выглядеть так:

По умолчанию блоки в JupyterLab предназначены для кода на Python. Для того, чтобы превратить их в текстовые блоки, нужно сменить их тип через панель инструментов. В самом конце панели откройте список и выберите пункт «Markdown»:

Выделенный блок превратится в блок текста. Набранный текст можно оформить курсивом или сделать его жирным . Больше информации по Markdown (средства оформления текста) вы найдете .

Вот так можно оформлять текстовые блоки блокнота:

Экспорт

В JupyterLab можно экспортировать блокнот в самые разные форматы. Для этого в самом верху среды выберите вкладку «Notebook». В открывшемся меню выберите пункт «Export to…» и выберите формат (например, PDF), в который вы хотите преобразовать ваш блокнот.

Вот ссылка на gist с блокнотом из этой статьи.

Управление модулями Python

Включать/отключать/закачивать модули можно из Anaconda Navigator. Для этого в левом меню выберите пункт «Environments»:

По умолчанию отображается список установленных модулей (~217 штук). Среди них есть и такие популярные, как numpy (работа с массивами) или scypi (научные и инженерные расчеты).

Для установки новых пакетов в выпадающем меню над таблицей (там, где написано «Installed») выберите пункт «Not installed»:

Список обновится - автоматически загрузится список неустановленных модулей.

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

Выводы

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