Простой Python. Современный стиль программирования - [5]

Шрифт
Интервал

>"Chocolate Rain" Original Song by Tay Zonday

>Charlie bit my finger — again!

>The Mean Kitty Song

Эта небольшая программа, написанная на языке Python, делает многое с помощью всего лишь девяти строк. Если вы не знаете всех этих терминов, не волнуйтесь — вы познакомитесь с ними в следующих главах.

• Строка 1: импортируем весь код из стандартной библиотеки, которая называется json.

• Строка 2: импортируем только функцию urlopen из стандартной библиотеки urllib.

• Строка 3: присваиваем URL сайта YouTube переменной url.

• Строка 4: соединяемся с веб-сервером, расположенным по этому адресу, и запрашиваем определенный веб-сервис.

• Строка 5: получаем ответ и присваиваем его переменной contents.

• Строка 6: дешифруем содержимое переменной contents в текстовую строку формата JSON и присваиваем ее переменной text.

• Строка 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. Оболочка обладает небольшими возможностями вроде выполнения простой логики и разворачивания символа-джокера наподобие * в полноценные имена файлов. Вы можете сохранять команды в файлы, которые называются сценариями оболочки, и выполнять их позже. Эти программы могли быть самыми первыми в вашей карьере программиста. Проблема заключается в том, что со сценариями оболочки трудно работать, если они содержат как минимум несколько сотен строк, а сами сценарии выполняются гораздо медленнее, чем программы, написанные на других языках. В следующем фрагменте кода демонстрируется небольшая программа-оболочка:


Рекомендуем почитать
Изучаем Java EE 7

Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)


Геймдизайн. Рецепты успеха лучших компьютерных игр от Super Mario и Doom до Assassin’s Creed и дальше

Что такое ГЕЙМДИЗАЙН? Это не код, графика или звук. Это не создание персонажей или раскрашивание игрового поля. Геймдизайн – это симулятор мечты, набор правил, благодаря которым игра оживает. Как создать игру, которую полюбят, от которой не смогут оторваться? Знаменитый геймдизайнер Тайнан Сильвестр на примере кейсов из самых популярных игр рассказывает как объединить эмоции и впечатления, игровую механику и мотивацию игроков. Познакомитесь с принципами дизайна, которыми пользуются ведущие студии мира! Создайте игровую механику, вызывающую эмоции и обеспечивающую разнообразие.


Обработка событий в С++

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


MFC и OpenGL

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


Симуляция частичной специализации

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


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.


Автостопом по Python

Перед вами — увлекательная книга, которую по достоинству оценит любой неравнодушный программист и даже бывалый питонщик. Она составлена на основе одноименного онлайнового руководства http://docs.python-guide.org/en/latest/ и содержит наработки многочисленных профессионалов и энтузиастов, знающих, что такое Python, и чего вы от него хотите. Проверенные методы и новейшие приемы, собранные в этой книге, помогут вам стать профессиональным Python-программистом и во всеоружии встретить наступающую эпоху Python 3.


Философия DevOps. Искусство управления IT

IT-принцип «agile» стал мантрой цифровой эпохи. С ростом проектов, переходом от монолитных приложений к системе микросервисов, увеличением и накоплением продуктов возникают вопросы, которые требуют совершенно иного подхода. Теперь наибольший интерес вызывает находящаяся на стыке разработки и операционного управления методология DevOps.DevOps – это не просто набор техник, это философия. Разработчики, зацикленные на пользователях, должны уделять внимание поддержке и ее запросам. Сисадмины должны сообщать о проблемах продукта и вносить свой вклад в улучшение процесса работы.


iOS. Приемы программирования

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы.