imageПривет, Хаброжители! Наконец-то у нас вышла книга Билла Любановича:

Эта книга идеально подходит как для начинающих программистов, так и для тех, кто только собирается осваивать 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)


  1. azsx
    16.08.2016 12:49
    -10

    Скажите, пожалуйста, какие у pyton преимущества по сравнению с fpc (паскалем), кроме большей востребованности среди работодателей?


    1. tmnhy
      16.08.2016 13:14

      Вики: Python

      «Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Python организовывается в функции и классы, которые могут объединяться в модули (они в свою очередь могут быть объединены в пакеты).»


    1. amarao
      17.08.2016 16:54
      +2

      Выразительность и лаконичность. Паскаль — ровестник Си и страдает почти тем же комплектом машиноориентированного изложения содержимого.


      1. azsx
        17.08.2016 18:01

        Паскаль — ровестник Си и страдает почти тем же комплектом машиноориентированного изложения содержимого.

        Никак не могу понять. Раз программа пишется для компьютера, то почему «машиноориентированное изложение содержимого» является недостатком.
        Как я понимаю из Вашего ответа при реализации алгоритмов кода на pyton будет по объему меньше и он будет понятнее, верно?


        1. amarao
          17.08.2016 20:32
          +1

          Программы перестали писать для компьютеров уже лет 40 как. Программы пишутся для программистов, которые их потом читают. Сопровождение кода — одна из фундаментальных областей для software engineering.

          Код на питоне позволяет выражать происходящее в программе в более высокоуровневых категориях. Работа со списком на си — на 90% состоит из беготни по указателям (которые не являются термином, используемым в алгоритме). Работа со списком на питоне — это работа с элементами списка и правильной смысловой семантикой (for x in [], map, filter, append, pop, etc).

          Код на питоне (если не считать победителей специальной олимпиады) обычно кратно понятнее аналогичного кода на Си.


  1. crawlander
    16.08.2016 13:41
    +1

    Отличный вводный курс, в оригинале Introducing Python.Без воды.


  1. tmnhy
    16.08.2016 13:45

    Версия 3.4 вышла в то же время, когда и эта книга, и я расскажу вам о некоторых нововведениях.


    Понятно, что книги быстро не пишутся, и не печатаются. В декабре уже будет как год 3.5.1, с его асинхронным «сахаром»…


    1. veveve
      18.08.2016 07:04

      Более того, в декабре 3.6 final выходит.


  1. AsKein
    16.08.2016 17:31

    Скорее всего, начну разбираться с Python-ом именно с этой книги.
    Жалко, что в Беларусь нету доставки.


    1. ph_piter
      16.08.2016 17:32

      Есть, по предоплате. Написали в личку.


      1. dzsysop
        17.08.2016 05:59

        A v Canadu dostavki net sluchaino?


        1. ph_piter
          17.08.2016 05:59

          Да


          1. Artamerh
            18.08.2016 23:46

            Я тоже по теме доставки… Как могу купить сию книгу и получить её в Аргентине?


  1. J_o_k_e_R
    16.08.2016 21:13
    +1

    Кстати, насчет электронных версий книг, ph_piter. Можно попросить либо не использовать кириллицу в названиях файлов, либо не паковать их в архив, либо паковать, но с именами в utf-8? Это облегчило бы жизнь всем, кто легально покупает у вас электронные книги, при этом не используя семейство ОС Windows. А, например, выкачивая сразу на читалки с Android.
    В противном случае в очередной раз ситуация, когда удобнее сначала заглянуть на торрент-трекеры, прежде, чем покупать у издательства.


    1. ph_piter
      17.08.2016 05:46
      +1

      Ок


    1. ishua
      17.08.2016 10:59

      Подтверждаю проблему на osX )


  1. LifeKILLED
    16.08.2016 22:39

    Люблю книги от заграничных авторов, они ИМХО лучше объясняют, чем наши (в большинстве). То есть в последнее время и русские авторы стараются не отставать, перенимают манеру время от времени подшучивать (вот, кстати, ради этого юмора в том числе и читаю книжки по программированию). Но легко нарваться на книгу, написанную сухо и поверхностно. А когда покупаешь книгу западного автора, к тому же, такого опытного, то точно знаешь, что всё в книге будет изложено отлично, у этих книжек и переизданий всегда много, и написаны они всегда в манере, общей для западных авторов. Наверное, только Страуструп — исключение, но ему можно простить сухой стиль, очень уж много всего в его книгах :D

    Заглянул в ознакомительный отрывок… да, именно так, как я люблю. Правда, никогда не испытывал необходимости в знании Python'а, но на всякий случай буду иметь в виду :) При удобном случае обязательно куплю эту книгу.


  1. 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!»


    1. OnYourLips
      17.08.2016 00:55

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


      1. Toshiro
        17.08.2016 01:43

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


        1. nuald
          17.08.2016 02:55

          Эксперты 80-го уровня просто читают документацию, например: Emulating numeric types (естественно, что знание английского подразумевается, иначе это не эксперт). Книжки в основном и нужны новичками, экспертам они ни к чему.

          Правда должен признать, что есть такие темы, когда документация не особо помогает. Когда я переделывал CPython для работы с проприетарной встроенной платформой (прикручивал jmalloc и переделывал многопоточность на использование clone() напрямую), пришлось ковыряться в исходниках. Но это нужно единицам, книги на такие темы просто бы не окупились.


      1. dimykus
        17.08.2016 12:54

        Ну может не совсем к языку, но например что то по типу «Ruby under microscope», что бы про все внутренности основной имплементации было. Что, где, как и почему работает.


    1. balamut108
      17.08.2016 11:13

      Мне понравилась книга Лучано Ромальо «К вершинам мастерства», прада издана она в ДМК.


    1. andjel
      17.08.2016 13:39

      Вот, пожалуйста. The Hacker's Guide to Python


  1. vechnoe
    17.08.2016 05:45

    Хотелось бы перевода и публикации чего-нибудь вроде этого: https://www.amazon.com/Learning-Python-Design-Patterns-Gennadiy/dp/1783283378 Для начинающих от такой книги не будет особой пользы Лутц + практика эффективнее. Для профессионалов тоже не подойдет.


  1. ur002
    17.08.2016 08:55

    Спасибо за книгу, и за купон. приобрел в коллекцию.


  1. g_nik93
    17.08.2016 11:38

    Только начинаю изучать Python, до этого с ЯП не сталкивался. Вопрос такой: сможет ли эта книга заменить Лутца? Заранее спасибо!


    1. ph_piter
      17.08.2016 11:41

      Здравствуйте. Нет, думаю, Лутца книга не заменит. Она скорее помогает понять статус-кво современного Python, познакомиться с его новыми библиотеками, а в дальнейшем — сориентироваться в сильных сторонах Python 3. Но и без опыта (и без чтения Лутца) книга должна быть Вам понятна и интересна


  1. the_coder
    17.08.2016 12:08

    Посоветуйте хорошие книгу по перлу на русском


  1. EniLight
    21.08.2016 10:12

    Спасибо за купон, купил!