- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF137:Review6
Материал из Linuxformat.
Python. Подробный справочник
- Если бы Валентину Синицыну предложили выбрать одну и только одну книгу по Python, то какую бы книгу он выбрал?
Несмотря на слова с обложки, эта книга — скорее не справочник, а продвинутый учебник.
- Автоp: Д. Бизли
- Издательство: Символ-Плюс/Addison-Wesley
- ISBN: 978-5-93286-157-8
- Цена: 850 руб.
- Объем: 864 стр.
- Настоятельно рекомендуется опытным программистам, желающим как следует разобраться в Python.
- Рейтинг 9/10
Бытует мнение, что Python – простой язык, и отчасти это действительно так: чтобы получить общее представление о синтаксисе и начать писать (а тем более – исправлять) код, достаточно общей эрудиции и «методички» в десяток страниц. Совсем другое дело, если вы хотите овладеть Python в совершенстве – пресловутыми 24 часами здесь явно не обойтись. «Python. Подробный справочник» и не обещает научить вас всему за одни сутки; и несмотря на название, это не справочник, а учебник, охватывающий не только синтаксис языка (который действительно несложен), но и его стандартную библиотеку, без которой любая программа (и не только на Python) «повиснет в воздухе».
По сравнению с другими книгами о Python, появлявшимися на страницах LXF, эта имеет как минимум два важных отличия. Во-первых, она написана более сжато, что должно понравиться опытным программистам, но способно отпугнуть начинающих (впрочем, во введении автор честно предупреждает, что его книга – не учебник по программированию). И во-вторых, в ней рассматриваются сразу две версии языка: Python 2.6 и 3.0, так что, прочитав ее, вы будете не только в состоянии поддерживать унаследованный код, но и приготовитесь «сделать шаг в будущее». Конечно, актуальными на момент выхода книги являются уже Python 2.7 и 3.1, но это не столь большая проблема: разобравшись с 2.6 и 3.0, вы легко освоите и последующие обновления.
Книга применяет итеративный подход к изложению материала. Первая глава, «Вводное руководство», позволяет получить представление обо всех возможностях языка, которые будут рассмотрены далее по тексту. Кому-то этого может и хватить для быстрого старта, но мы нашли, что беглый обзор таких продвинутых вещей, как генераторы или сопрограммы, для понимания сложноват.
Раз, два, три
Особого упоминания в первой части заслуживает глава, посвященная оптимизации кода, его отладке и профилированию. Вы найдете здесь большое число практических способов повысить производительность ваших приложений, написанных на Python. Было бы неплохо, правда, увидеть и сводку различий между реализациями Python: CPython, безусловно, вне конкуренции, но не все, что подходит для него, касается также Jython и IronPython. Впрочем, небольшой разговор о них, а также о встраивании Python в приложения на C припасен на последнюю – третью – часть.
Во второй части книги (по размерам она вдвое толще первой) дается обзор стандартной библиотеки. Материал здесь структурирован по функциональному назначению (например, web-программирование, базы данных, многопоточность) и разбит по модулям (os, io, string, urllib и т. п.). Для каждого модуля представлено подробное описание публичного интерфейса и возможные исключения, а в ряде случаев приводится пример использования. В какой-то мере это дублирует встроенную документацию Python, но здесь преследуются иные цели: это опять же не столько справочник, сколько учебник. Например, в главу «Потоки и многозадачность» включен специальный раздел, поясняющий основные понятия и идиомы параллельного программирования. Из значимых тем, не вошедших во вторую часть, стоит отметить создание графических интерфейсов. Конечно, в идеале хотелось бы видеть какую-то информацию и о сторонних модулях (например, PyQt или NumPy), но это все-таки одна книга, а не многотомное издание, и она должна хотя бы помещаться в рюкзак программиста.
Как это по-русски?
Все вышесказанное относится в равноймере и к оригинальному изданию, а чем нас порадует перевод? – его, кстати, выполнил Андрей Киселев, известный линуксоидам со стажем по своим работам над различными HOWTO и проектом Russian Linux Gazette. Не секрет, что многие из современных книг переводятся людьми, не вникающими в суть текстов, над которыми они работают: приятно видеть, что к «Python. Подробный справочник» это не относится. В нужных местах оригинальный текст снабжен примечаниями переводчика, предлагающими дополнительные материалы для изучения тех или иных вопросов, и хотя мы могли бы оспорить рациональность использования некоторых терминов, перевод в целом вышел грамотным и качественным. В общем, если вы давно готовились изучить Python, но не знали, с чего начать – думается, мы не ошибемся, если порекомендуем вам взять эту книгу.