Книга «Изучаем Python»



Pdf көрінісі
бет197/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   193   194   195   196   197   198   199   200   ...   238
Байланысты:
2 5343781172763690906

УПРАЖНЕНИЯ

16-5 .  Все  страны:  на  картах,  построенных  в  этом  разделе,  наша  программа  не  смогла 

автоматически  найти  двухбуквенные  коды  примерно  для  12  стран .  Определите,  что  это 

за  страны, и найдите коды в словаре COUNTRIES . Добавьте блок if-elif в get_country_code(), 

чтобы функция возвращала правильные коды для этих конкретных стран:

if country_name == 'Yemen, Rep.'

return 'ye'

elif ...



Итоги    361

Разместите этот код после цикла COUNTRIES, но перед командой return None . Когда это 

будет сделано, карта станет более полной .

16-6 .  Валовый  внутренний  продукт:  Фонд  Open  Knowledge  Foundation  предоставляет  на-

бор  данных  с  величиной  валового  внутреннего  продукта  (ВВП)  по  каждой  стране  мира; 

его можно загрузить по адресу http://data .okfn .org/data/core/gdp/ . Загрузите версию этого 

набора данных в формате JSON и нанесите на карту ВВП каждой страны мира за самый по-

следний год в наборе данных .

16-7 . Выберите данные самостоятельно: Всемирный банк предоставляет различные наборы 

данных, разбитые по странам . Откройте страницу http://data .worldbank .org/indicator/ и най-

дите  набор  данных,  который  покажется  вам  интересным .  Щелкните  на  наборе  данных, 

щелкните по ссылке Download Data и выберите формат CSV . Вы получите три файла CSV, 

два из которых снабжены пометкой Metadata; используйте третий файл CSV . Напишите про-

грамму для генерирования словаря; ключами словаря являются двухбуквенные коды стран 

Pygal, а значениями — выбранные вами данные из файла . Нанесите данные на диаграмму 

Worldmap и оформите карту на свое усмотрение .

16-8 . Тестирование модуля country_codes: во время разработки модуля country_codes мы 

использовали команды print для проверки работоспособности функции get_country_code() . 

Напишите нормальный тест для этой функции, используя информацию из главы 11 .

Итоги


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

обрабатывать файлы CSV и JSON и как извлечь данные, на которых вы хотите со-

средоточиться. Используя реальные погодные данные, вы освоили новые возмож-

ности работы с библиотекой matplotlib, включая использование модуля datetime 

и возможность нанесения нескольких наборов данных на одну диаграмму. Вы 

узнали, как нанести данные на карту мира с использованием Pygal и как изменить 

оформление карт и диаграмм Pygal.

С накоплением опыта работы с файлами CSV и JSON вы сможете обрабатывать 

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

сетевые наборы данных могут загружаться хотя бы в одном из этих форматов. По-

сле работы с этими форматами вам также будет проще усвоить другие форматы 

данных.


В следующей главе вы напишете программы для автоматического сбора данных 

из сетевых источников, а затем создадите визуализации этих данных. Это занятие 

весьма интересное, если вы рассматриваете программирование как увлечение, 

и абсолютно необходимое, если вы занимаетесь программированием профессио-

нально.



17

Работа с API

В этой главе вы научитесь писать специализированные программы для построения 

визуализаций на основании загруженных ими данных. Ваша программа будет ис-

пользовать программный интерфейс (API) веб-приложения для автоматического 

запроса конкретной информации с сайта (вместо целых страниц). Полученная 

информация будет использоваться для построения визуализации. Так как про-

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

построения визуализации, даже при быстро изменяющихся данных полученная 

диаграмма всегда будет оставаться актуальной.

Использование API веб-приложений

API веб-приложения представляет собой часть веб-сайта, предназначенную для 

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

URL-адреса для запроса информации. Подобные запросы называются вызовами 



API. Запрашиваемые данные возвращаются в удобном формате (например, JSON 

или CSV). Многие приложения, зависящие от внешних источников данных (как 

приложения, интегрирующиеся с сайтами социальных сетей), используют вызовы 

API.


Git и GitHub

Наша визуализация будет построена на базе информации с GitHub — сайта, органи-

зующего совместную работу программистов над проектами. Мы воспользуемся API 

GitHub для запроса информации о проектах Python и последующего построения 

интерактивной визуализации относительной популярности этих проектов в Pygal.

Имя GitHub (https://github.com/) происходит от Git — распределенной системы 

управления версиями, которая позволяет программистам совместно трудиться над 

проектами. Пользователи Git управляют своим индивидуальным вкладом в проект, 

чтобы изменения, вносимые одним человеком, не конфликтовали с изменениями, 

вносимыми другими людьми. Когда вы реализуете новую возможность в проекте, 

Git отслеживает изменения, внесенные в каждый файл. Если новый код успешно 

работает, вы закрепляете внесенные изменения, и Git записывает новое состояние 

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

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




Использование API веб-приложений    363

(За дополнительной информацией об управлении версиями с использованием Git 

обращайтесь к приложению Г.) Проекты GitHub хранятся в репозиториях, содер-

жащих все ресурсы, связанные с проектом: код, информацию о других участниках, 

все проблемы или отчеты об ошибках и т. д.

Если проект нравится пользователям GitHub, то пользователи могут «поставить 

звезду», чтобы продемонстрировать свою поддержку и следить за проектами, 

которые могут им пригодиться. В этой главе мы напишем программу для авто-

матической загрузки информации о проектах Python с наибольшим количеством 

звезд на GitHub, а затем построим содержательную визуализацию таких проектов.

Запрос данных с использованием вызовов API

GitHub поддерживает API (программный интерфейс) для запроса разнообразной 

информации посредством вызовов API. Чтобы понять, как выглядит вызов API, 

введите следующий адрес в адресной строке своего браузера и нажмите Enter:

https://api.github.com/search/repositories?q=language:python&sort=stars

Этот вызов возвращает количество проектов Python, размещенных на GitHub в на-

стоящее время, а также информацию о самых популярных репозиториях Python. 

Рассмотрим вызов подробнее: первая часть https://api.github.com/ передает за-

прос части сайта GitHub, отвечающей на вызовы API. Следующая часть, search/



Достарыңызбен бөлісу:
1   ...   193   194   195   196   197   198   199   200   ...   238




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет