Najlepsza książka do nauki Pythona


3 marca 2012


Moje wrażenia po lekturze "Wprowadzenie. Python" Wydanie IV

Wprowadzenie.

Naukę języka Python rozpoczynałem z książką "Python. Rozmówki" (Autor: Brad Dayley). Pomimo swoich gabarytów zawiera opis bardzo wielu elementów języka i zaznajamia czytelnika z programowaniem usług sieciowych, przetwarzaniem plików XML, pracą z wątkami oraz dostępem do bazy danych. Szeroki zakres informacji prezentowany w tej książce, poparty przykładowym kodem nie jest poparty jednak dogłębnym omówieniem danych aspektów języka. Jest to najsłabszy element książki, który można jednak tłumaczyć poprzez typ publikacji – rozmówki.

Opis poszczególnych elementów możemy odnaleźć w dokumentacji dostępnej pod adresem http://www.python.org (dostępna online, do pobrania w pdf). Liczba publikacji opisujących język Python w naszym kraju nie jest zadawalająca. O ile z dostępnością ebooków oraz kursów nie jest źle (np.http://pl.python.org/kursy,jezyka.html) to problemem jest to, że nie znajdziemy w nich charakterystyki elementów Pythona oraz to, że zawierają one opis starszych wersji Pythona.

Wśród niewielkiej liczby książek na uwagę zasługuje "Wprowadzenie. Python" (Autor: Mark Lutz), Wydanie IV.

Plusy:

Książka koncentruje się na opisie języka Python 3.0. Autor przedstawia także różnice w stosunku do wersji 2.6 co sprawia, że publikacja może posłużyć jako dobre źródło wiedzy do nauki obu wersji. "Wprowadzenie ..." zawiera bardzo szczegółowy opis poszczególnych aspektów języka: typy, moduły, funkcje, programowanie obiektowe, metaklasy, wyjątki oraz dekoratory. Przedstawia czytelnikowi także pułapki języka oraz różnice w stosunku do języka C. Każdy rozdział kończy się quizem sprawdzającym wiedzę a każda część książki zawiera zadania do wykonania. Teoria została poparta wieloma przykładami a kod oprócz opisu zawiera komentarze, które przyśpieszają zrozumienie kodu przez doświadczonych programistów.

Najbardziej cieszy w książce dogłębny opis programowania obiektowego. Dokładnie opisano wszystkie mechanizmy oraz przedstawiono nowe elementy w programowaniu obiektowym w wersji 3.0 (sloty, właściwości klas, metaklasy) a także różnice w sposobie dziedziczenia pomiędzy wersjami Pythona.

Minusy

Publikacja posiada bardzo wiele informacji zawartych na prawie 1200 stronach. Książka jest bardzo dobra lecz posiada także kilka słabszych elementów. Nie zawiera opisu tych elementów, które zawiera książka "Python. Rozmówki". Gdyby zawierała opis programowania usług sieciowych, przetwarzanie plików XML oraz innych byłaby wręcz doskonałą książką. Uzupełnieniem tego wydawnictwa może być książka tego samego autora "Programming Python" (koncentruje się na zastosowaniach języka w pracy), która jednak nie została wydana w Polsce.

Minusem książki jest także jej cena. Na bardzo popularnym serwisie aukcyjnym ( nazwy nie wymienię :) można ją kupić nawet o 1/3 ceny taniej). Mi udało się ją nabyć tańszą o 42 zł z uwzględnieniem odbioru osobistego (książka nowa).

Podsumowanie

Jeżeli rozpoczynasz swoją przygodę z językiem Python lub jesteś już szczęśliwcem programującym w tym języku a nie miałeś okazji zapoznać się z książką Marka Lutza to gorąco polecam. Połączenie informacji z "Wprowadzenie ...." oraz zawartych w oficjalnej dokumentacji stanowi doskonałe źródło wiedzy chcących poznać/zgłębić tajniki języka Python.

Co zawiera blog?

Na blogu umieszczam wpisy dotyczące mojej pracy, zainteresowań. Głowna tematyka to programowanie oraz recenzje płyt oraz książek.

Justice - Cross


Pierwsza płyta francuskiego zespołu Justice już w dniu premiery stała ...

Warning: this LDM has ...


Co zrobić gdy GRUB nie może zapisać tablicy partycji do ...

Django. Tworzenie aplikacji sieciowych


Kilka słów o książce napisanej przez Antonio Melé. Czy warto ...

Underworld - dubnobasswithmyheadman


Underworld to historia muzyki techno, house i trance

ReportLab PDF


Opis biblioteki służącej do tworzenia plików PDF. Przykłady tworzenia tabeli ...

Haystack, Whoosh i błąd


Wyszukiwanie pełnotekstowe w Django z wykorzystaniem Haystack oraz Whoosh a ...