Книга 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, но и многое почерпнула для себя в плане написания технических книг.

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

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