Книга «Простой Python. Современный стиль программирования»

    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.
    Издательский дом «Питер»
    183,00
    Компания
    Поделиться публикацией

    Похожие публикации

    Комментарии 33

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

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

            Никак не могу понять. Раз программа пишется для компьютера, то почему «машиноориентированное изложение содержимого» является недостатком.
            Как я понимаю из Вашего ответа при реализации алгоритмов кода на pyton будет по объему меньше и он будет понятнее, верно?
              +1
              Программы перестали писать для компьютеров уже лет 40 как. Программы пишутся для программистов, которые их потом читают. Сопровождение кода — одна из фундаментальных областей для software engineering.

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

              Код на питоне (если не считать победителей специальной олимпиады) обычно кратно понятнее аналогичного кода на Си.
          +1
          Отличный вводный курс, в оригинале Introducing Python.Без воды.
            0
            Версия 3.4 вышла в то же время, когда и эта книга, и я расскажу вам о некоторых нововведениях.


            Понятно, что книги быстро не пишутся, и не печатаются. В декабре уже будет как год 3.5.1, с его асинхронным «сахаром»…
              0
              Более того, в декабре 3.6 final выходит.
              0
              Скорее всего, начну разбираться с Python-ом именно с этой книги.
              Жалко, что в Беларусь нету доставки.
                0
                Есть, по предоплате. Написали в личку.
                  0
                  A v Canadu dostavki net sluchaino?
                    0
                    Да
                      0
                      Я тоже по теме доставки… Как могу купить сию книгу и получить её в Аргентине?
                +1
                Кстати, насчет электронных версий книг, ph_piter. Можно попросить либо не использовать кириллицу в названиях файлов, либо не паковать их в архив, либо паковать, но с именами в utf-8? Это облегчило бы жизнь всем, кто легально покупает у вас электронные книги, при этом не используя семейство ОС Windows. А, например, выкачивая сразу на читалки с Android.
                В противном случае в очередной раз ситуация, когда удобнее сначала заглянуть на торрент-трекеры, прежде, чем покупать у издательства.
                  +1
                  Ок
                    0
                    Подтверждаю проблему на osX )
                    0
                    Люблю книги от заграничных авторов, они ИМХО лучше объясняют, чем наши (в большинстве). То есть в последнее время и русские авторы стараются не отставать, перенимают манеру время от времени подшучивать (вот, кстати, ради этого юмора в том числе и читаю книжки по программированию). Но легко нарваться на книгу, написанную сухо и поверхностно. А когда покупаешь книгу западного автора, к тому же, такого опытного, то точно знаешь, что всё в книге будет изложено отлично, у этих книжек и переизданий всегда много, и написаны они всегда в манере, общей для западных авторов. Наверное, только Страуструп — исключение, но ему можно простить сухой стиль, очень уж много всего в его книгах :D

                    Заглянул в ознакомительный отрывок… да, именно так, как я люблю. Правда, никогда не испытывал необходимости в знании Python'а, но на всякий случай буду иметь в виду :) При удобном случае обязательно куплю эту книгу.
                      +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!»
                        0
                        А что вы в такой книге хотите увидеть, чтобы это было привязано к языку? Повторю сделанный акцент: не к инструментам, технологиям или принципам, а именно языку.
                        Поэтому и нет такой книги.
                          0
                          Да хотя бы как сделать себе в Питоне нормальную перегрузку операций/функций/методов, чтобы не приходилось манки-патчить не приходя в сознание))
                            0
                            Эксперты 80-го уровня просто читают документацию, например: Emulating numeric types (естественно, что знание английского подразумевается, иначе это не эксперт). Книжки в основном и нужны новичками, экспертам они ни к чему.

                            Правда должен признать, что есть такие темы, когда документация не особо помогает. Когда я переделывал CPython для работы с проприетарной встроенной платформой (прикручивал jmalloc и переделывал многопоточность на использование clone() напрямую), пришлось ковыряться в исходниках. Но это нужно единицам, книги на такие темы просто бы не окупились.
                            0
                            Ну может не совсем к языку, но например что то по типу «Ruby under microscope», что бы про все внутренности основной имплементации было. Что, где, как и почему работает.
                            0
                            Мне понравилась книга Лучано Ромальо «К вершинам мастерства», прада издана она в ДМК.
                              0
                              Вот, пожалуйста. The Hacker's Guide to Python
                              0

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

                                0
                                У Питер есть Приемы объектно-ориентированного проектирования.
                                0
                                Спасибо за книгу, и за купон. приобрел в коллекцию.
                                  0
                                  Только начинаю изучать Python, до этого с ЯП не сталкивался. Вопрос такой: сможет ли эта книга заменить Лутца? Заранее спасибо!
                                    0
                                    Здравствуйте. Нет, думаю, Лутца книга не заменит. Она скорее помогает понять статус-кво современного Python, познакомиться с его новыми библиотеками, а в дальнейшем — сориентироваться в сильных сторонах Python 3. Но и без опыта (и без чтения Лутца) книга должна быть Вам понятна и интересна
                                    0
                                    Посоветуйте хорошие книгу по перлу на русском
                                      0
                                      Классика по классическому же Perl'у — это «Программирование на Perl» (актуально 4-е издание).
                                      0
                                      Спасибо за купон, купил!
                                        0
                                        Третье издание бы Software Architecture in Practice (:

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

                                        Самое читаемое