Spis treści O autorze - 13 Wprowadzenie - 15 Rozdział 1. Szybkie wprowadzenie do programowania proceduralnego - 23 * Tworzenie i uruchamianie programów Pythona - 24 * \"Piękne serce\" Pythona - 29 o Koncepcja 1. - rodzaje danych - 29 o Koncepcja 2. - odniesienia do obiektów - 31 o Koncepcja 3. - kolekcje rodzajów danych - 33 o Koncepcja 4. - operatory logiczne - 36 o Koncepcja 5. - polecenia kontroli przepływu programu - 40 o Koncepcja 6. - operatory arytmetyczne - 45 o Koncepcja 7. - operacje wejścia-wyjścia - 48 o Koncepcja 8. - tworzenie i wywoływanie funkcji - 51 * Przykłady - 53 o bigdigits.py - 53 o generate_grid.py - 56 * Podsumowanie - 58 * Ćwiczenia - 61 Rozdział 2. Rodzaje danych - 65 * Identyfikatory i słowa kluczowe - 65 * Całkowite rodzaje danych - 69 o Liczby całkowite - 69 o Wartości boolowskie - 72 * Zmiennoprzecinkowe rodzaje danych - 73 o Liczby zmiennoprzecinkowe - Float - 74 o Liczby zespolone - Complex - 77 o Liczby Decimal - 78 * Ciągi tekstowe - 80 o Porównywanie ciągów tekstowych - 83 o Segmentowanie i poruszanie się krokami w ciągu tekstowym - 84 o Operatory i metody dotyczące ciągu tekstowego - 87 o Formatowanie ciągu tekstowego za pomocą metody str.format- - 95 o Kodowanie znaków - 107 * Przykłady - 111 o quadratic.py - 111 o csv2html.py - 114 * Podsumowanie - 118 * Ćwiczenia - 120 Rozdział 3. Kolekcje rodzajów danych - 123 * Rodzaje sekwencji - 124 o Krotki - 124 o Nazwane krotki - 127 o Listy - 129 * Rodzaje danych set - 137 o Set - zbiór - 138 o Rodzaj danych frozenset - 142 * Rodzaje mapowania - 143 o Słowniki - 143 o Słowniki domyślne - 152 o Słowniki uporządkowane - 153 * Iteracja i kopiowanie kolekcji - 155 o Iteratory i operacje oraz funkcje iteracji - 155 o Kopiowanie kolekcji - 164 * Przykłady - 166 o generate_usernames.py - 166 o statistics.py - 169 * Podsumowanie - 173 * Ćwiczenia - 175 Rozdział 4. Funkcje i struktury kontrolne - 177 * Struktury kontrolne - 177 o Konstrukcje rozgałęziające - 178 o Pętle - 179 * Obsługa wyjątków - 181 o Przechwytywanie i obsługa wyjątków - 181 o Własne wyjątki - 186 * Własne funkcje - 189 o Nazwy i dokumentujące ciągi tekstowe - 193 o Rozpakowywanie argumentu i parametru - 195 o Uzyskiwanie dostępu do zmiennych w zasięgu globalnym - 197 o Funkcja lambda - 199 o Asercje - 201 * Przykład: make_html_skeleton.py - 202 * Podsumowanie - 208 * Ćwiczenie - 209 Rozdział 5. Moduły - 213 * Moduły i pakiety - 214 o Pakiety - 217 o Własne moduły - 220 * Ogólny opis biblioteki standardowej Pythona - 230 o Obsługa ciągów tekstowych - 230 o Programowanie wiersza polecenia - 232 o Matematyka i liczby - 233 o Data i godzina - 234 o Algorytmy i kolekcje rodzajów danych - 235 o Formaty plików, kodowania znaków i przechowywanie danych - 236 o Plik, katalog i obsługa przetwarzania - 240 o Praca w sieci i programowanie internetowe - 242 o XML - 244 o Inne moduły - 246 * Podsumowanie - 247 * Ćwiczenie - 249 Rozdział 6. Programowanie zorientowane obiektowo - 251 * Podejście zorientowane obiektowo - 252 o Koncepcje i terminologia programowania zorientowanego obiektowo - 253 * Własne klasy - 256 o Atrybuty i metody - 257 o Dziedziczenie i polimorfizm - 262 o Używanie właściwości w celu kontrolowania dostępu do atrybutów - 264 o Tworzenie w pełni zintegrowanych rodzajów danych - 266 * Własne klasy kolekcji - 279 o Tworzenie klas agregujących kolekcje - 279 o Tworzenie klas kolekcji za pomocą agregacji - 286 o Tworzenie klas kolekcji za pomocą dziedziczenia - 292 * Podsumowanie - 299 * Ćwiczenia - 301 Rozdział 7. Obsługa plików - 303 * Zapis i odczyt danych binarnych - 308 o Peklowanie wraz z opcjonalną konwersją - 308 o Zwykłe dane binarne wraz z opcjonalną kompresją - 312 * Zapis i przetwarzanie plików tekstowych - 321 o Zapis tekstu - 321 o Przetwarzanie tekstu - 322 o Przetwarzanie tekstu za pomocą wyrażeń regularnych - 325 * Zapis i przetwarzanie plików XML - 328 o Drzewa elementów - 329 o Model DOM - Document Object Model - 332 o Ręczny zapis XML - 335 o Przetwarzanie XML za pomocą SAX - Simple API dla XML - 336 * Swobodny dostęp do plików binarnych - 339 o Ogólna klasa BinaryRecordFile - 339 o Przykład: klasy modułu BikeStock - 347 * Podsumowanie - 351 * Ćwiczenia - 352 Rozdział 8. Zaawansowane techniki programowania - 355 * Dalsze techniki programowania proceduralnego - 356 o Rozgałęzianie za pomocą słowników - 356 o Funkcje i wyrażenia generatora - 358 o Dynamiczne wykonywanie kodu oraz dynamiczne polecenia import - 360 o Funkcje lokalne i rekurencyjne - 368 o Dekoratory funkcji i metod - 372 o Adnotacje funkcji - 376 * Dalsze techniki programowania zorientowanego obiektowo - 378 o Kontrola dostępu do atrybutów - 379 o Funktor - 382 o Menedżery kontekstu - 384 o Deskryptory - 388 o Dekoratory klas - 392 o Abstrakcyjne klasy bazowe - 395 o Dziedziczenie wielokrotne - 402 o Metaklasy - 404 * Programowanie funkcjonalne - 408 o Funkcje częściowe aplikacji - 411 o Współprogramy - 412 * Przykład: valid.py - 421 * Podsumowanie - 423 * Ćwiczenia - 424 Rozdział 9. Usuwanie błędów, testowanie i profilowanie - 427 * Usuwanie błędów - 428 o Obsługa błędów składni - 429 o Obsługa błędów w trakcie działania programu - 430 o Naukowy sposób usuwania błędów - 434 * Testy jednostkowe - 440 * Profilowanie - 446 * Podsumowanie - 451 Rozdział 10. Procesy i wątkowanie - 453 * Używanie modułu Multiprocessing - 454 * Używanie modułu Threading - 458 o Przykład: program wyszukiwania używający wątków - 460 o Przykład: program wyszukujący powielone pliki używający wątkowania - 463 * Podsumowanie - 468 * Ćwiczenia - 469 Rozdział 11. Praca w sieci - 471 * Tworzenie klienta TCP - 473 * Tworzenie serwera TCP - 478 * Podsumowanie - 485 * Ćwiczenia - 485 Rozdział 12. Programowanie bazy danych - 489 * Bazy danych DBM - 490 * Bazy danych SQL - 494 * Podsumowanie - 501 * Ćwiczenie - 502 Rozdział 13. Wyrażenia regularne - 503 * Język wyrażeń regularnych Pythona - 504 o Znaki i klasy znaków - 505 o Kwantyfikatory - 506 o Grupowanie i przechwytywanie - 508 o Asercje i opcje - 511 * Moduł wyrażeń regularnych - 515 * Podsumowanie - 526 * Ćwiczenia - 526 Rozdział 14. Wprowadzenie do analizy składniowej - 529 * Składnia BNF i terminologia związana z analizą składniową - 531 * Tworzenie własnych analizatorów składni - 535 o Prosta analiza składniowa danych klucz - wartość - 536 o Analiza składniowa listy odtwarzania - 539 o Analiza składniowa bloków języka specjalizowanego - 541 * Analiza składniowa za pomocą modułu PyParsing - 550 o Krótkie wprowadzenie do modułu PyParsing - 551 o Prosta analiza składniowa danych klucz - wartość - 555 o Analiza składniowa danych listy odtwarzania - 557 o Analiza składniowa bloków języka specjalizowanego - 559 o Analiza składni logiki pierwszego rzędu - 564 * Analiza składniowa Lex/Yacc za pomocą modułu PLY - 569 o Prosta analiza składniowa danych klucz - wartość - 571 o Analiza składniowa danych listy odtwarzania - 573 o Analiza składniowa bloków języka specjalizowanego - 575 o Analizator składni logiki pierwszego rzędu - 577 * Podsumowanie - 582 * Ćwiczenie - 583 Rozdział 15. Wprowadzenie do programowania GUI - 585 * Programy w stylu okna dialogowego - 588 * Programy w stylu okna głównego - 594 o Tworzenie okna głównego - 595 o Tworzenie własnego okna dialogowego - 605 * Podsumowanie - 608 * Ćwiczenia - 609 Epilog - 611 Wybrana bibliografia - 613 Skorowidz - 615 Poznaj wspaniałe możliwości języka Python 3 i twórz dowolne programy * Jak budować użyteczne i efektywne aplikacje, oparte na interfejsie graficznym? * Jak tworzyć pakiety i moduły? * Jak programować w Pythonie za pomocą stylu proceduralnego i funkcjonalnego? 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