
Эта книга идеально подходит как для начинающих программистов, так и для тех, кто только собирается осваивать Python, но уже имеет опыт программирования на других языках. В ней подробно рассматриваются самые современные пакеты и библиотеки Python.
Стилистически издание напоминает руководство с вкраплениями кода, подробно объясняя различные концепции Python 3. Под обложкой вы найдете обширный материал от самых основ языка до сравнительно сложных и узких тем.
Прочитав эту книгу, вы не только убедитесь, что Python — это вкусно, но и освоите искусство тестирования, отладки, многократного использования кода, а также научитесь применять Python в различных предметных областях.
Введение
Эта книга познакомит вас с языком программирования Python. Она предназначена для начинающих программистов, но даже если вы уже писали программы и хотите лишь добавить Python к списку доступных вам языков, издание «Простой Python. Современный стиль программирования» поможет в этом.
Книга представляет собой неторопливое введение, которое постепенно проведет вас от основ к множеству более углубленных тем. Я использовал смесь стилей учебника и поваренной книги, чтобы по очереди объяснить новые термины и идеи. Код, написанный на языке Python, включен даже в самые первые главы.
Несмотря на то что книга ориентирована на начинающих читателей, я включил в нее темы, которые могут показаться сложными, вроде баз данных NoSQL или библиотек передачи сообщений. Я выбрал их потому, что они помогут решить многие проблемы лучше, чем стандартные приемы. Вы загрузите и установите те внешние пакеты Python, которые пригодятся, когда «встроенные батарейки» не подойдут для вашего приложения. Пробовать что-то новое весело.
Я также включил в книгу несколько примеров того, чего делать не нужно, особенно если вы уже работали с другими языками программирования и пытаетесь адаптировать их стиль для Python. Не буду утверждать, что язык программирования Python идеален, — просто покажу вам, чего следует избегать.
Краткое описание
В первых семи главах объясняются основы языка программирования Python, их нужно читать по порядку. В последующих главах показывается, как язык программирования Python используется в определенных областях, таких как Интернет, базы данных, сети и т.д., их можно читать в любом порядке. В первых трех приложениях демонстрируется применение языка программирования Python в искусстве, бизнесе и науке. Далее вы узнаете, как установить Python 3, если у вас его нет. После этого идут ответы к упражнениям, расположенным в конце каждой главы, а затем несколько полезных списков.
Глава 1. Программы похожи на руководства по вязанию носков или жарке картошки. С помощью реальных программ, написанных на языке Python, демонстрируются синтаксис языка, его возможности и способы применения в реальном мире. При сравнении Python не проигрывает другим языкам, но он не идеален. Более старая версия Python (Python 2) уступает место более новой (Python 3). Если у вас установлен Python 2, установите на свой компьютер Python 3. Воспользуйтесь интерактивным интерпретатором, чтобы самостоятельно запустить примеры из этой книги.
Глава 2. В этой главе показываются простейшие типы данных, применяемые в языке программирования Python: булевы переменные, целые числа, числа с плавающей точкой и текстовые строки. Вы также изучите простейшую математику и текстовые операции.
Глава 3. Мы рассмотрим встроенные структуры данных более высокого уровня: списки, кортежи, словари и наборы. Вы будете пользоваться этими типами данных, как конструктором Lego, чтобы создавать более сложные структуры. Вы научитесь проходить по ним с помощью итераторов и списковых включений.
Глава 4. Здесь вы будете сплетать структуры данных из предыдущих глав со структурами кода, чтобы выполнять сравнение, выборку или повторение операций. Вы узнаете, как упаковывать код в функции и обрабатывать ошибки с помощью исключений.
Глава 5. В этой главе показывается, как перейти к более крупным структурам данных: модулям, пакетам и программам. Вы узнаете, где можно разместить код и данные, ввести и вывести данные, обработать различные варианты и исследуете стандартную библиотеку Python.
Глава 6. Если вы уже занимались объектно-ориентированным программированием на других языках, Python по сравнению с ними покажется вам более простым. В главе 6 объясняется, когда следует использовать объекты и классы, а когда лучше применить модули, списки или словари.
Глава 7. Научитесь профессионально управлять данными. Эта глава полностью посвящена текстовым и двоичным данным, особенностям использования символов стандарта Unicode, а также вопросам ввода-вывода.
Глава 8. Данные нужно где-то размещать. В этой главе вы начнете работать с простыми файлами, каталогами и файловыми системами. Далее узнаете, как управляться с простыми файловыми форматами вроде CSV, JSON и XML. Вы также научитесь сохранять и получать данные из реляционных баз данных и из современных хранилищ данных NoSQL.
Глава 9. Всемирной сети посвящена отдельная глава, где рассматриваются клиенты, серверы, извлечение данных, API и фреймворки. В главе 9 вы разработаете реальный сайт, используя параметры запроса и шаблоны.
Глава 10. Эта глава посвящена системному программированию. Здесь вы научитесь управлять программами, процессами и потоками, поработаете с датой и временем, автоматизируете выполнение некоторых задач системного администрирования.
Глава 11. Тема этой главы — сети, а именно: службы, протоколы и API. В качестве примеров рассматриваются как низкоуровневые сокеты, библиотеки обмена сообщениями и системы массового обслуживания, так и развертывание на облачных системах.
Глава 12. В этой главе содержатся советы для разработчиков, пишущих на языке программирования Python. Они касаются установки, использования IDE, тестирования, отладки, журналирования, контроля исходного кода и документации. Глава 12 также поможет вам найти и установить полезные пакеты сторонних разработчиков, упаковать свой код для повторного использования, а также узнать, где получить более подробную информацию.
Приложение А. В первом приложении рассматривается, что люди делают с помощью языка программирования Python в искусстве: графике, музыке, анимации и играх.
Приложение Б. Некоторые особенности языка программирования Python можно применить и для бизнеса: визуализацию данных (графики, графы и карты), безопасность и регулирование.
Приложение В. Язык программирования Python широко используется в научной деятельности: математике и статистике, физике, биологии и медицине. В приложении демонстрируются возможности инструментов NumPy, SciPy и Pandas.
Приложение Г. Если вы еще не установили Python 3 на свой компьютер, в этом приложении вы найдете информацию о том, как это сделать, независимо от того, какая операционная система у вас установлена: Windows, Mac OS/X, Linux или Unix.
Приложение Д. Здесь содержатся ответы на упражнения, приведенные в конце каждой главы. Не подглядывайте туда, пока не попробуете решить задачи самостоятельно.
Приложение Е. В этом приложении содержатся справочные данные.
Версии Python
Языки программирования со временем меняются — разработчики добавляют в них новые возможности, а также исправляют ошибки. Примеры этой книги написаны и протестированы для версии Python 3.3. Версия 3.4 вышла в то же время, когда и эта книга, и я расскажу вам о некоторых нововведениях. Если хотите узнать, что и когда было добавлено в язык программирования Python, посетите страницу. Там представлена техническая информация. Она, возможно, покажется трудной для понимания, если вы только начинаете изучать Python, но может пригодиться в будущем, если вам нужно будет писать программы для компьютеров, на которых установлены другие версии Python.
Об авторе
Билл Любанович программировал в операционной системе Unix с 1977 года, разрабатывал GUI с 1981 года, базы данных с 1990 года, а веб-разработкой занимался с 1993 года.
В 1982 году, работая на стартапе Intran, он создал MetaForm — один из первых коммерчески успешных GUI (до Mac или Windows) для использования на одной из первых графических рабочих станций. В 1990 году он написал для компании Northwest Airlines визуальную систему управления доходами, которая дала миллионы долларов выручки. Кроме того, Любанович создал «витрину» компании в Интернете и написал для нее первый тест для анализа маркетинга в Сети. Позже, в 1994 году, он выступил сооснователем интернет-провайдера Tela, а в 1999 году участвовал в создании интернет-компании Mad Scheme.
Впоследствии Билл Любанович разрабатывал службы ядра и распределенные системы в составе команды, работающей на стартап с Манхэттена. В настоящее время автор этой книги занимается интеграцией сервисов OpenStack в суперкомпьютерной компании.
Билл счастливо живет в штате Миннесота со своей чудесной женой Мэри, сыном Томом и дочерью Карин, ухаживает за кошками Ингой и Люси и котом Честером.
Более подробно с книгой можно ознакомиться на сайте издательства
Оглавление
Отрывок
Для Хаброжителей скидка 25% по купону — Python. По факту оплаты бумажной книги отправляем на e-mail электронную версию книги.
Комментарии (30)
AsKein
16.08.2016 17:31Скорее всего, начну разбираться с Python-ом именно с этой книги.
Жалко, что в Беларусь нету доставки.
J_o_k_e_R
16.08.2016 21:13+1Кстати, насчет электронных версий книг, ph_piter. Можно попросить либо не использовать кириллицу в названиях файлов, либо не паковать их в архив, либо паковать, но с именами в utf-8? Это облегчило бы жизнь всем, кто легально покупает у вас электронные книги, при этом не используя семейство ОС Windows. А, например, выкачивая сразу на читалки с Android.
В противном случае в очередной раз ситуация, когда удобнее сначала заглянуть на торрент-трекеры, прежде, чем покупать у издательства.
LifeKILLED
16.08.2016 22:39Люблю книги от заграничных авторов, они ИМХО лучше объясняют, чем наши (в большинстве). То есть в последнее время и русские авторы стараются не отставать, перенимают манеру время от времени подшучивать (вот, кстати, ради этого юмора в том числе и читаю книжки по программированию). Но легко нарваться на книгу, написанную сухо и поверхностно. А когда покупаешь книгу западного автора, к тому же, такого опытного, то точно знаешь, что всё в книге будет изложено отлично, у этих книжек и переизданий всегда много, и написаны они всегда в манере, общей для западных авторов. Наверное, только Страуструп — исключение, но ему можно простить сухой стиль, очень уж много всего в его книгах :D
Заглянул в ознакомительный отрывок… да, именно так, как я люблю. Правда, никогда не испытывал необходимости в знании Python'а, но на всякий случай буду иметь в виду :) При удобном случае обязательно куплю эту книгу.
Toshiro
16.08.2016 23:23+4Это все, конечно, хорошо. Но ребят, сколько можно плодить «для начинающих», «для чайников», «для самых маленьких», «основы...» итд?! Где чёрт возьми Impossible python: a revelation for 80lvl hardcore programmers?! И чтоб в аннотации: «10+ years of hardcore python experience required to understand titles of chapters in this book! If you complete reading the book and find yourself NOT in a loony bin, please give us a call, we'll hire you!»
OnYourLips
17.08.2016 00:55А что вы в такой книге хотите увидеть, чтобы это было привязано к языку? Повторю сделанный акцент: не к инструментам, технологиям или принципам, а именно языку.
Поэтому и нет такой книги.Toshiro
17.08.2016 01:43Да хотя бы как сделать себе в Питоне нормальную перегрузку операций/функций/методов, чтобы не приходилось манки-патчить не приходя в сознание))
nuald
17.08.2016 02:55Эксперты 80-го уровня просто читают документацию, например: Emulating numeric types (естественно, что знание английского подразумевается, иначе это не эксперт). Книжки в основном и нужны новичками, экспертам они ни к чему.
Правда должен признать, что есть такие темы, когда документация не особо помогает. Когда я переделывал CPython для работы с проприетарной встроенной платформой (прикручивал jmalloc и переделывал многопоточность на использование clone() напрямую), пришлось ковыряться в исходниках. Но это нужно единицам, книги на такие темы просто бы не окупились.
dimykus
17.08.2016 12:54Ну может не совсем к языку, но например что то по типу «Ruby under microscope», что бы про все внутренности основной имплементации было. Что, где, как и почему работает.
balamut108
17.08.2016 11:13Мне понравилась книга Лучано Ромальо «К вершинам мастерства», прада издана она в ДМК.
vechnoe
17.08.2016 05:45Хотелось бы перевода и публикации чего-нибудь вроде этого: https://www.amazon.com/Learning-Python-Design-Patterns-Gennadiy/dp/1783283378 Для начинающих от такой книги не будет особой пользы Лутц + практика эффективнее. Для профессионалов тоже не подойдет.
g_nik93
17.08.2016 11:38Только начинаю изучать Python, до этого с ЯП не сталкивался. Вопрос такой: сможет ли эта книга заменить Лутца? Заранее спасибо!
ph_piter
17.08.2016 11:41Здравствуйте. Нет, думаю, Лутца книга не заменит. Она скорее помогает понять статус-кво современного Python, познакомиться с его новыми библиотеками, а в дальнейшем — сориентироваться в сильных сторонах Python 3. Но и без опыта (и без чтения Лутца) книга должна быть Вам понятна и интересна
azsx
Скажите, пожалуйста, какие у pyton преимущества по сравнению с fpc (паскалем), кроме большей востребованности среди работодателей?
tmnhy
Вики: Python
«Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Python организовывается в функции и классы, которые могут объединяться в модули (они в свою очередь могут быть объединены в пакеты).»
amarao
Выразительность и лаконичность. Паскаль — ровестник Си и страдает почти тем же комплектом машиноориентированного изложения содержимого.
azsx
Никак не могу понять. Раз программа пишется для компьютера, то почему «машиноориентированное изложение содержимого» является недостатком.
Как я понимаю из Вашего ответа при реализации алгоритмов кода на pyton будет по объему меньше и он будет понятнее, верно?
amarao
Программы перестали писать для компьютеров уже лет 40 как. Программы пишутся для программистов, которые их потом читают. Сопровождение кода — одна из фундаментальных областей для software engineering.
Код на питоне позволяет выражать происходящее в программе в более высокоуровневых категориях. Работа со списком на си — на 90% состоит из беготни по указателям (которые не являются термином, используемым в алгоритме). Работа со списком на питоне — это работа с элементами списка и правильной смысловой семантикой (for x in [], map, filter, append, pop, etc).
Код на питоне (если не считать победителей специальной олимпиады) обычно кратно понятнее аналогичного кода на Си.