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