Python 3. Kompletne wprowadzenie do programowania. Wydanie II.pdf

(12509 KB) Pobierz
665246001 UNPDF
Python 3. Kompletne
wprowadzenie do
programowania. Wydanie II
Autor: Mark Summerfield
T³umaczenie: Robert Górczyñski
ISBN: 978-83-246-2642-7
Format: 170 × 230, stron: 640
Poznaj wspania³e mo¿liwoœci jêzyka Python 3 i twórz dowolne programy
Python 3 uznany zosta³ za najlepsz¹ dotychczasow¹ wersjê tego jêzyka, poniewa¿
jego mo¿liwoœci s¹ dziœ znacznie wiêksze ni¿ dawniej. Python 3 jest wygodny, spójny
i ekspresyjny, a tak¿e niezale¿ny od platformy sprzêtowej i – co najwa¿niejsze –
dostarczany z pe³n¹ bibliotek¹ standardow¹. Mo¿na go wykorzystaæ do programowania
proceduralnego, zorientowanego obiektowo oraz (w mniejszym stopniu) do programowania
w stylu funkcjonalnym. Autor ksi¹¿ki, Mark Summerfield, ekspert w dziedzinie programowania,
przedstawia szczegó³owe informacje dotycz¹ce tego jêzyka w bardzo przyjazny sposób,
co sprawia, ¿e czytelnik szybko i sprawnie mo¿e napisaæ dowolny program.
Ksi¹¿ka „Python 3. Kompletne wprowadzenie do programowania. Wydanie II” zosta³a
zaprojektowana tak, aby móg³ z niej korzystaæ zarówno ktoœ o niewielkim doœwiadczeniu
w programowaniu, jak i profesjonaliœci, naukowcy, in¿ynierowie oraz studenci. Dziêki
niej szybko nauczysz siê m.in. wykorzystywaæ zaawansowane rodzaje danych, kolekcje
oraz struktury kontrolne. Poznasz techniki analizy sk³adniowej, obejmuj¹ce u¿ywanie
modu³ów PyParsing i PLY. Dowiesz siê, na czym polega rozk³adanie obci¹¿enia programu
miêdzy wiele procesów i w¹tków, a tak¿e zaczniesz u¿ywaæ techniki Test Driven
Development, aby unikn¹æ pope³niania b³êdów. Znajdziesz tu wszelkie niezbêdne
informacje, dziêki którym bêdziesz móg³ stworzyæ solidne i wydajne programy.
Tworzenie i uruchamianie programów Pythona
Polecenia kontroli przep³ywu
Rodzaje danych
Funkcje i struktury kontrolne
Modu³y i pakiety
Programowanie zorientowane obiektowo
Obs³uga plików
Zaawansowane techniki programowania
Kontrola dostêpu do atrybutów
Usuwanie b³êdów, testowanie i profilowanie
Wyra¿enia regularne
Ten podrêcznik jest jak Python 3 – spójny, praktyczny i wygodny
Mark Summerfield jest informatykiem z wieloletnim doœwiadczeniem w dziedzinie
programowania. Jest tak¿e wspó³autorem ksi¹¿ki „C++ GUI Programming with Qt 4”
oraz autorem ksi¹¿ki „Rapid GUI Programming with Python and Qt: The Definitive Guide
to PyQt Programming”. Mark za³o¿y³ firmê Qtrac Ltd., http://www.qtrac.eu, w której
pracuje jako niezale¿ny publicysta, redaktor, trener i konsultant specjalizuj¹cy siê
w C++, Qt, Pythonie i PyQt.
665246001.001.png 665246001.002.png
Spis treści
O autorze ...........................................................................13
Wprowadzenie ...................................................................15
Rozdzia 1. Szybkie wprowadzenie do programowania proceduralnego ......23
Tworzenie i uruchamianie programów Pythona .................................24
„Pikne serce” Pythona .................................................................29
Koncepcja 1. — rodzaje danych ................................................29
Koncepcja 2. — odniesienia do obiektów ..................................31
Koncepcja 3. — kolekcje rodzajów danych .................................33
Koncepcja 4. — operatory logiczne ...........................................36
Koncepcja 5. — polecenia kontroli przepywu programu ..............40
Koncepcja 6. — operatory arytmetyczne ....................................45
Koncepcja 7. — operacje wejcia-wyjcia ...................................48
Koncepcja 8. — tworzenie i wywoywanie funkcji ........................51
Przykady ......................................................................................53
bigdigits.py ..............................................................................53
generate_grid.py ......................................................................56
Podsumowanie .............................................................................58
wiczenia .....................................................................................61
Rozdzia 2. Rodzaje danych ..................................................................65
Identyfikatory i sowa kluczowe .......................................................65
Cakowite rodzaje danych ...............................................................69
Liczby cakowite .......................................................................69
Wartoci boolowskie ................................................................72
Zmiennoprzecinkowe rodzaje danych ..............................................73
Liczby zmiennoprzecinkowe (Float) ............................................74
Liczby zespolone (Complex) ......................................................77
Liczby Decimal .........................................................................78
8 Python 3. Kompletne wprowadzenie do programowania
Cigi tekstowe ..............................................................................80
Porównywanie cigów tekstowych ..............................................83
Segmentowanie i poruszanie si krokami
w cigu tekstowym .................................................................84
Operatory i metody dotyczce cigu tekstowego .........................87
Formatowanie cigu tekstowego
za pomoc metody str.format() ...............................................95
Kodowanie znaków ................................................................107
Przykady ....................................................................................111
quadratic.py ..........................................................................111
csv2html.py ...........................................................................114
Podsumowanie ...........................................................................118
wiczenia ...................................................................................120
Rozdzia 3. Kolekcje rodzajów danych ................................................123
Rodzaje sekwencji .......................................................................124
Krotki ....................................................................................124
Nazwane krotki ......................................................................127
Listy .....................................................................................129
Rodzaje danych set .....................................................................137
Set (zbiór) .............................................................................138
Rodzaj danych frozenset .........................................................142
Rodzaje mapowania ....................................................................143
Sowniki ................................................................................143
Sowniki domylne .................................................................152
Sowniki uporzdkowane ........................................................153
Iteracja i kopiowanie kolekcji ........................................................155
Iteratory i operacje oraz funkcje iteracji ....................................155
Kopiowanie kolekcji ...............................................................164
Przykady ....................................................................................166
generate_usernames.py .........................................................166
statistics.py ..........................................................................169
Podsumowanie ...........................................................................173
wiczenia ...................................................................................175
Rozdzia 4. Funkcje i struktury kontrolne ...........................................177
Struktury kontrolne ......................................................................177
Konstrukcje rozgaziajce ......................................................178
Ptle .....................................................................................179
Obsuga wyjtków ........................................................................181
Przechwytywanie i obsuga wyjtków ........................................181
Wasne wyjtki .......................................................................186
Spis treci 9
Wasne funkcje ...........................................................................189
Nazwy i dokumentujce cigi tekstowe ....................................193
Rozpakowywanie argumentu i parametru .................................195
Uzyskiwanie dostpu do zmiennych w zasigu globalnym ..........197
Funkcja lambda .....................................................................199
Asercje .................................................................................201
Przykad: make_html_skeleton.py .................................................202
Podsumowanie ...........................................................................208
wiczenie ...................................................................................209
Rozdzia 5. Moduy ............................................................................213
Moduy i pakiety ..........................................................................214
Pakiety ..................................................................................217
Wasne moduy ......................................................................220
Ogólny opis biblioteki standardowej Pythona .................................230
Obsuga cigów tekstowych ....................................................230
Programowanie wiersza polecenia ...........................................232
Matematyka i liczby ................................................................233
Data i godzina .......................................................................234
Algorytmy i kolekcje rodzajów danych .......................................235
Formaty plików, kodowania znaków i przechowywanie danych ....236
Plik, katalog i obsuga przetwarzania .......................................240
Praca w sieci i programowanie internetowe ..............................242
XML ......................................................................................244
Inne moduy ..........................................................................246
Podsumowanie ...........................................................................247
wiczenie ...................................................................................249
Rozdzia 6. Programowanie zorientowane obiektowo ...........................251
Podejcie zorientowane obiektowo ...............................................252
Koncepcje i terminologia programowania
zorientowanego obiektowo ....................................................253
Wasne klasy ..............................................................................256
Atrybuty i metody ...................................................................257
Dziedziczenie i polimorfizm .....................................................262
Uywanie waciwoci w celu kontrolowania
dostpu do atrybutów ..........................................................264
Tworzenie w peni zintegrowanych rodzajów danych ...................266
Wasne klasy kolekcji ..................................................................279
Tworzenie klas agregujcych kolekcje ......................................279
Tworzenie klas kolekcji za pomoc agregacji ............................286
Tworzenie klas kolekcji za pomoc dziedziczenia ......................292
Podsumowanie ...........................................................................299
wiczenia ...................................................................................301
10 Python 3. Kompletne wprowadzenie do programowania
Rozdzia 7. Obsuga plików ................................................................303
Zapis i odczyt danych binarnych ...................................................308
Peklowanie wraz z opcjonaln konwersj .................................308
Zwyke dane binarne wraz z opcjonaln kompresj ....................312
Zapis i przetwarzanie plików tekstowych ........................................321
Zapis tekstu ..........................................................................321
Przetwarzanie tekstu ..............................................................322
Przetwarzanie tekstu za pomoc wyrae regularnych ...............325
Zapis i przetwarzanie plików XML .................................................328
Drzewa elementów .................................................................329
Model DOM (Document Object Model) .....................................332
Rczny zapis XML ..................................................................335
Przetwarzanie XML za pomoc SAX (Simple API dla XML) ..........336
Swobodny dostp do plików binarnych ..........................................339
Ogólna klasa BinaryRecordFile ................................................339
Przykad: klasy moduu BikeStock ...........................................347
Podsumowanie ...........................................................................351
wiczenia ...................................................................................352
Rozdzia 8. Zaawansowane techniki programowania ...........................355
Dalsze techniki programowania proceduralnego .............................356
Rozgazianie za pomoc sowników ........................................356
Funkcje i wyraenia generatora ...............................................358
Dynamiczne wykonywanie kodu
oraz dynamiczne polecenia import .........................................360
Funkcje lokalne i rekurencyjne ................................................368
Dekoratory funkcji i metod ......................................................372
Adnotacje funkcji ...................................................................376
Dalsze techniki programowania zorientowanego obiektowo .............378
Kontrola dostpu do atrybutów ...............................................379
Funktor .................................................................................382
Menedery kontekstu .............................................................384
Deskryptory ...........................................................................388
Dekoratory klas .....................................................................392
Abstrakcyjne klasy bazowe .....................................................395
Dziedziczenie wielokrotne .......................................................402
Metaklasy .............................................................................404
Programowanie funkcjonalne ........................................................408
Funkcje czciowe aplikacji ....................................................411
Wspóprogramy ......................................................................412
Przykad: valid.py .........................................................................421
Podsumowanie ...........................................................................423
wiczenia ...................................................................................424
Zgłoś jeśli naruszono regulamin