Уроки технологии
Технология Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Jupiter. Основы

Хотя веб-разработчики создают свои веб-сайты с помощью таких инструментов, как Node.js, ASP.NET или Java, и запускают свой код локально с помощью инструментария в редакторах кода, таких как Visual Studio Code, разработчики Python имеют в своем распоряжении некоторые другие средства.

Одно из этих полезных средств называется записной книжкой. Записная книжка — это интерактивная среда, которую разработчик может использовать для выполнения блоков кода и добавления областей для документации, поясняющей сам код. Хотя разработчики Python также могут использовать файлы .py для непосредственного запуска программ Python, они также могут использовать записные книжки для выполнения и документирования своего кода, попутно объясняя его логику.

Сценарий: участник команды МКС

Предположим, что вы участник команды космического корабля. Ваша задача заключается в том, чтобы доставить некоторое важное оборудование на Международную космическую станцию (МКС). Если вы не знакомы с некоторыми из множества кнопок на консоли космического корабля, лучше не учиться методом проб и ошибок во время полета! Вместо этого вы можете обратиться к документации по эксплуатации корабля, чтобы узнать, какие кнопки нажимать для выполнения различных задач. Но что делать, если руководство неполное?

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

Чему вы научитесь?

К концу этого модуля вы сможете: Использовать записные книжки, как инструмент для создания более интерактивного процесса обучения, а также: создать файл записной книжки Jupyter локально; выполнить записную книжку Jupyter с помощью Python в Visual Studio Code; описать некоторые способы создания записной книжки.

Чтобы приступить к созданию записной книжки, необходимо:

Установить/обновить Python 3

Установить Visual Studio Code и отключите телеметрию ()

Установить в Visual Studio Code расширение Jupyter для выполнения записных книжек Jupyter в Visual Studio Code .

Создание и выполнение записной книжки

Записная книжка — это интерактивная среда, где можно писать и документировать код. В записных книжках также могут отображаться математические вычисления и схемы. Файл записной книжки имеет суффикс .ipynb.

Создание записной книжки

На локальном компьютере создайте файл с именем ship-manual.ipynb. Файл можно создать с помощью терминала или командной строки. Для этого введите touch ship-manual.ipynb. Вы также можете создать файл с помощью палитры команд в Visual Studio Code. Для этого введите Jupyter > Create New Blank Notebook. Откройте этот файл в Visual Studio Code. Расширение Jupyter должно отобразить пустой файл с возможностью добавления кода и блоков Markdown.

Создание элемента документа в Markdown

В верхней части записной книжки доступны два варианта создания двух различных типов блоков содержимого в записной книжке: Markdown и готовый к выполнению код. Ваша первая задача — создать заголовок документа. В верхней части интерфейса записной книжки в Visual Studio Code нажмите кнопку плюс (+) рядом с Markdown. Появится поле. Добавьте в него следующий текст Markdown:

Выполнение записной книжки

Теперь записную книжку нужно выполнить. Выберите ядро нажав “Выбрать ядро” в раскрывающемся списке в правом верхнем углу и выберите ядро Python 3. Чтобы увидеть, как отображается этот файл Markdown, выберите Выполнить все в верхней части записной книжки или щелкните маленькую стрелку слева от поля Markdown.

Создание готового к выполнению кода

Теперь можно добавить в записную книжку код. Давайте добавим способ отображения мини-приложения для запуска двигателя корабля.

Сначала необходимо установить библиотеку с именем ipywidgets. Установите библиотеку, добавив новый блок кода в блок заголовка записной книжки. Используйте диспетчер пакетов Python pip для установки библиотеки.

Добавьте следующую строку в новый блок кода: pip install ipywidgets.
import ipywidgets as widgets

ignition = widgets.ToggleButton(
    value=False,
    description='Start Engine',
    button_style='success',
    tooltip='Engage your Engine',
    icon='rocket'
)

output = widgets.Output()

display(ignition, output)

def on_value_change(change):
    with output:
        if change['new'] == True:
            print("engine started!")
        else:   
            print("engine stopped")

ignition.observe(on_value_change, names='value')

В чем причина? Библиотека ipywidget используется для создания кнопки и прослушивания изменения ее значения с печатью наблюдаемого сообщения. Теперь ваше руководство выглядит лучше, и вы можете запустить двигатель вашего корабля, если он заглохнет!

Использование расширенных команд

Вы создали базовую записную книжку с блоками Markdown и мини-приложением для корабля. Но с записными книжками можно сделать гораздо больше!

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

Создание визуализации

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

  1. Создайте блок Markdown, чтобы отметить то, что вы будете отображать.
## Уровень кислорода

Отобразите десять минут уровня кислорода на вашем корабле.
  1. Создайте новый блок кода и импортируйте две библиотеки: numpy и matplotlib. Используйте их для создания линейчатой диаграммы.
import numpy as np
import matplotlib.pyplot as plt
data = np.random.default_rng(12345)
oxy_nums = data.integers(low=0, high=10, size=10)

plt.bar(range(len(oxy_nums)), oxy_nums)
plt.show()
Возможно, потребуется установить numpy, matplotlib или другие библиотеки. Чтобы установить numpy, используйте активированную виртуальную среду, введите pip install numpy в блок кода и выполните его. Выполните эту базовую процедуру для всех остальных библиотек, которые необходимо установить.

Линейчатая диаграмма будет выглядеть следующим образом (данные являются имитацией реальных данных с использованием numpy для создания массива из 100 целых чисел от 1 до 10).

Выполнение корабельных вычислений

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

  1. Создайте блок Markdown для объяснения уравнения.
## Скорость корабля

Покажите секунды, необходимые для достижения скорости от 0 до 60 метров в секунду, учитывая ускорение корабля в метрах в секунду.
  1. Добавьте блок кода для уравнения.
endVelocity = 60
startVelocity = 0
acceleration = 9.8

time = (endVelocity - startVelocity) / acceleration
print("Время достижения желаемой скорости = ", time)

Поздравляем! Вы успешно создали руководство по эксплуатации, в котором представлена полезная информация о вашем космическом корабле. Так как все содержится в записной книжке Jupyter, вам будет не сложно работать с содержимым, ведь оно хорошо задокументировано и отображается. Здесь описан даже включает в себя переключатель зажигания! Записные книжки Jupyter — удобный способ отображения всех видов данных и даже небольших пользовательских интерфейсов.

Подробнее о записной книжки Jupyter здесь