Fluent python на русском

Закончила читать книгу “Fluent Python”. Отличная книга для среднего уровня знаний. Подойдет тем, кто хорошо знает основы Python и хочет углубить свои знания.

Версия Python

Книга написана для Python версии 3.4. Для большинства тем это не важно, но в пятой части и особенно в разделе о asyncio, надо учитывать, что в версии 3.5 и 3.6 были внесены изменения.

Несмотря на это, стоит прочитать и эти разделы, так как они хорошо написаны и суть модуля не изменилась.

Что мне понравилось

Честно говоря, мне понравилось всё, но хочется отдельно остановиться на некоторых моментах.

У Luciano Ramalho потрясающий стиль изложения и объяснения. Я всю книгу восхищалась этим и было просто приятно читать книгу. Он пишет и с юмором, и с хорошими примерами и просто отлично выстраивает объяснение.

Эта книга так хорошо написана, что приятно и полезно было прочитать и введение и все те вводные моменты, которые я часто пропускаю в книгах.

Мне очень понравилось, что любая тема по сути объясняется с самого начала. Для знакомых тем это полезно тем, что освежает знания, а для новых — это позволяет плавно перейти к теме.

Очень хорошие примеры, в которых постепенно повышается сложность. К нужным концепциям есть несколько подводящих примеров, которые позволяют понять в чем проблема и что именно помогает решить эта концепция.

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

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

Чувствуется, что автору нравится язык, но при этом он пишет и о недостатках языка или каких-то концепций в нем. Эта честность очень импонирует и позволяет по-другому посмотреть на некоторые вещи, не воспринимать их как данность.

Although calling a function is not different than calling a class, it’s good to know which is which because of another thing we can do with a class: subclassing. So I personally use CamelCase in every class that I code, and I wish all classes in the Python standard library used the same convention. I am looking at you, collections.OrderedDict and collections.defaultdict

Конечно, есть разделы которые чуть менее понятны или менее подробно описаны. Но учитывая то, насколько хорошо описано остальное, это не так уж существенно. Скажем так, 98% книги написаны просто отлично, а оставшиеся 2% скорее всего, просто я не очень поняла.

Читайте также:  Банкомат пишет запрос не может быть выполнен

Как читать

Как и с другими книгами по программированию, желательно выполнять все примеры самостоятельно, придумывать свои примеры. Иначе очень легко сделать вид, что всё понятно, а к концу книги забыть половину.

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

Если у вас уже есть опыт программирования на Python (а он должен быть для этой книги), то, скорее всего, аналогии и примеры использования будут рождаться по ходу чтения. Останется только попробовать их реализовать.

Лучше не торопиться с чтением книги и прорабатывать все основательно. Да, первые разделы будут достаточно базовыми, но очень быстро темы будут сложнее и просто читать их недостаточно.

Резюме

Потрясающая книга. Я узнала не только много нового в Python, но и многое почерпнула для себя в плане написания технических книг.

Для меня однозначно не закончена работа с ней, так как в книге огромное количество ссылок, которые хочется проработать.

Кроме того, к некоторым темам планирую вернуться, так как для меня они были совсем новыми.

Рекомендуемая литература, курсы и документация по Python.

1 ответ 1

Learning Python (5th Edition). Mark Lutz

  • Русский перевод: Изучаем Python. Марк Лутц.

Programming in Python 3: A Complete Introduction to the Python Language. Mark Summerfield

  • Русский перевод: Программирование на Python 3. Подробное руководство. Марк Саммерфилд.

Python Essential Reference (4th Edition). David M. Beazley.

  • Русский перевод: Python. Подробный справочник. Дэвид Бизли.

Dive Into Python 3. Mark Pilgrim.

Learn Python the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code (3rd Edition). Zed A. Shaw.

Читайте также:  Постоянно пропадает языковая панель в windows 7

Простой Python. Современный стиль программирования. Билл Любанович, O’Reilly (в переводе изд. Питер), 2016, 480 стр.

Python Programming for the Absolute Beginner. Michael Dawson

Русский перевод: Программируем на Python. Майкл Доусон.

Эта книга хороша как учебник, в ней есть объяснение основных терминов программирования, некоторые рекомендации по стилю и прочее полезное для начинающих. Автор излагает материал на примере игр — от простейших консольных, до полноценных графических. Это делает процесс чтения и обучения весьма увлекательным.

Python in Practice: Create Better Programs Using Concurrency, Libraries, and Patterns (Developer’s Library). Mark Summerfield.

  • Русский перевод: Python на практике. Марк Саммерфилд.

Fluent Python. Luciano Ramalho

  • Русский перевод: Python. К вершинам мастерства. Рамальо Лучано.

Core Python: Application Programming. Wesley J Chun

  • Русский перевод: Python. Создание приложений. Уэсли Дж. Чан.

Stepik: Программирование на Python — базовый курс, рассматриваются самые основы языка

Stepik: Python: основы и применение — можно рассматривать как продолжение предыдущего курса, вводится ООП, итераторы, ФП, обработка данных на практике

Stepik: Адаптивный тренажер Python — набор задач разного уровня сложности, курс подстраивается под уровень ученика

Stepik: Python. Functional Programming (на английском) — курс содержит теорию по функциональному программированию и набор задач, предполагающих решение в функциональном стиле.

Stepik: Python для решения практических задач (курс стартует 20 января 2020) — курс в основном ориентирован на обработку данных: рассматривается обработка веб-страниц, работа с электронными таблицами (excel), XML, визуализация данных

Udacity: Design of Computer Programs — курс по программированию с интересными задачами, теория + практика Python.

Codecademy: Python — курс самого базового уровня, задания вида "повтори то что тебе только что показали"

Udemy: Automate the Boring Stuff with Python Programming — автоматизация рутинных действий с помощью Python (курс платный)

Читайте также:  Есть ли цифровое телевидение в москве

checkio.org — хороший ресурс с задачами, на котором можно даже получить комментарий от Гвидо ван Россума. Процесс решения геймифицирован.

projecteuler.net — сайт с набором задач различной сложности, можно решать на разных языках программирования, в том числе на Python

codecombat.com — rpg, для прохождения которой надо писать код на Python.

codewars — много задач разного уровня, можно выбрать язык программирования, в том числе есть Python.

hackerrank — решаешь задачи на разных языках программирования и одновременно прокачиваешь своё резюме.

codingame — учишься программировать, управляя космическим кораблём и выполняя интересные миссии.

1000+ проектов для начинающих — ветка из r/learnprogramming subreddit.

Hyperskill — сайт с проектами для обучения программированию на Java, Kotlin, Python. Есть интеграция с Educational версиями продуктов JetBrains. Раздел по Python пока в разработке.

  • Программирование на Python — курс лекций от Computer Science Center

Библиотека программиста запись закреплена

Python. К вершинам мастерства (2015)
Автор: Л. Рамальо

Простота Python помогает быстро повысить производительность труда, но зачастую она же означает, что вы используете далеко не все возможности этого языка. С помощью этого практического руководства вы узнаете, как писать эффективный и идиоматический код на Python, используя потрясающие, но зачастую незаслуженно забытые фичи Python.

Многие опытные программисты пытаются использовать Python под свои знания о других языках, но некоторые его особенности будут лежать за пределами их опыта. С помощью этой книги вы узнаете, как устроена модель данных Python, как организованы встроенные типы, научитесь рассматривать функции как объекты, освоите объектно-ориентированную парадигму и поистине глубоко овладеете этим языком.