Журнал LinuxFormat - перейти на главную

LXF137:Review6

Материал из Linuxformat
Версия от 15:10, 26 декабря 2011; Crazy Rebel (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск


Python. Под­роб­ный спра­вочник

Ес­ли бы Ва­лен­ти­ну Синицы­ну пред­ло­жи­ли вы­брать од­ну и толь­ко од­ну книгу по Python, то ка­кую бы книгу он вы­брал?


Бы­ту­ет мнение, что 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, но не зна­ли, с че­го на­чать – ду­ма­ет­ся, мы не оши­бем­ся, ес­ли по­ре­ко­мен­ду­ем вам взять эту книгу.

Персональные инструменты
купить
подписаться
Яндекс.Метрика