• Строка 7: преобразуем переменную text в data — структуру данных языка Python, предназначенную для работы с видео.
• Строка 8: получаем информацию для одного видеоролика единовременно в переменную video.
• Строка 9: используем двухуровневый словарь (data['feed']['entry']) и функцию slice([0:6]).
• Строка 10: используем функцию print, чтобы вывести на экран только название видеоролика.
Информация о видеоролике представляет собой различные структуры данных; все они демонстрируются в главе 3.
В предыдущем примере мы задействовали стандартные библиотечные модули (программы, включаемые в Python при установке), но в них нет ничего таинственного. Следующий фрагмент кода показывает переписанный пример, использующий внешний пакет ПО для Python, который называется requests:
import requests
url = "https://gdata.youtube.com/feeds/api/standardfeeds/top_rated?alt=json"
response = requests.get(url)
data = response.json()
for video in data['feed']['entry'][0:6]:
····print(video['title']['$t'])
Новая версия содержит всего шесть строк и, я полагаю, более читабельна для большинства людей. Я расскажу гораздо больше о requests и других авторских программах для Python в главе 5.
Python в реальном мире
Стоит ли тратить на изучение Python время и силы? Может быть, это игра в бирюльки? Язык программирования Python существует примерно с 1991 года (он появился раньше Java) и является одним из десяти самых популярных языков программирования. Людям платят деньги за то, что они пишут программы на Python, которыми мы пользуемся каждый день, — Google, YouTube, Dropbox, Netflix и Hulu. Я использовал Python для создания как поискового устройства для электронной почты, так и интернет-магазина. Python имеет репутацию высокопроизводительного языка программирования, что нравится динамично развивающимся организациям.
Вы можете найти множество приложений, написанных на Python, например:
• командную строку на мониторе или в окне терминала;
• пользовательские интерфейсы, включая сетевые;
• веб-приложения, как клиентские, так и серверные;
• бэкэнд-серверы, поддерживающие крупные популярные сайты;
• облака (серверы, управляемые сторонними организациями);
• приложения для мобильных устройств;
• приложения для встроенных устройств.
Программы, написанные на языке программирования Python, могут быть как одноразовыми сценариями — вы видели их ранее в этой главе, — так и сложными системами, содержащими миллионы строк. Мы рассмотрим применение языка программирования Python для создания сайтов, системного администрирования и манипулирования данными. Рассмотрим также использование Python в искусстве, науке и бизнесе.
Python против языка Х
Насколько Python хорош по сравнению с другими языками программирования? Где и когда следует использовать тот или иной язык? В этом разделе я приведу примеры кода, написанные на других языках, чтобы вы могли понять, с чем конкурирует Python. Вы не обязаны понимать каждый из этих фрагментов, если не работали с этими языками. (Когда вы увидите последний фрагмент, написанный на Python, то почувствуете облегчение из-за того, что не работали с некоторыми языками.) Если вам интересен только Python, вы ничего не потеряете, если не будете читать этот раздел.
Каждая программа должна вывести число и немного рассказать о языке, на котором она написана.
Если вы пользуетесь терминалом или терминальным окном, программа, которая читает то, что вы вводите, выполняет это и отображает результат, называется программой-оболочкой. Оболочка операционной системы Windows называется cmd, она выполняет пакетные файлы, имеющие расширение. bat. Для Linux и других операционных систем семейства Unix (включая Mac OS X) существует множество программ-оболочек, самая популярная из которых называется bash или sh. Оболочка обладает небольшими возможностями вроде выполнения простой логики и разворачивания символа-джокера наподобие * в полноценные имена файлов. Вы можете сохранять команды в файлы, которые называются сценариями оболочки, и выполнять их позже. Эти программы могли быть самыми первыми в вашей карьере программиста. Проблема заключается в том, что со сценариями оболочки трудно работать, если они содержат как минимум несколько сотен строк, а сами сценарии выполняются гораздо медленнее, чем программы, написанные на других языках. В следующем фрагменте кода демонстрируется небольшая программа-оболочка: