Python Rusz głową! Wydanie II

Book description

Python, prosty, wszechstronny i elastyczny język programowania, nadaje się zarówno do pisania niedużych skryptów, wielkich systemów, jak i do wysoce specjalistycznych zadań, jak choćby analiza danych do celów naukowych. To ulubione narzędzie coraz liczniejszej rzeszy znakomitych programistów. Wiele osób próbuje się uczyć Pythona, jednak mimo różnorodnych podręczników i kursów nauka pisania poprawnego, wydajnego i przejrzystego kodu w tym języku wciąż sprawia problemy.

Ta książka jest doskonałym podręcznikiem Pythona. Poza podstawami języka opisano tu sposoby posługiwania się Pythonem w prawdziwym świecie podczas pisania kodu aplikacji WWW czy obsługiwania baz danych. Przedstawiono tu również dość trudne tematy, takie jak kolekcje i niemodyfikowalność. Co ciekawe, materiał do książki przygotowano w szczególny sposób, posługując się metodami nowoczesnej kognitywistyki i dydaktyki, które uwzględniają specyfikę pracy ludzkiego mózgu, aktywnie go angażując podczas nauki. W ten sposób Python wchodzi do głowy niepostrzeżenie, w szybki, zabawny i interesujący sposób!

W tej książce:

szybkie wprowadzenie do Pythona
korzystanie z danych i z baz danych
praktyczne projektowanie aplikacji WWW
zarządzanie kontekstem
wątki, wyjątki i iteracje w Pythonie
narzędzia, biblioteki i moduły przydatne programiście Pythona
Jest problem? Rusz głową i zaprogramuj to w Pythonie!

Table of contents

  1. Spis treści (1/4)
  2. Spis treści (2/4)
  3. Spis treści (3/4)
  4. Spis treści (4/4)
  5. Wprowadzenie
    1. Dla kogo jest ta książka?
    2. Wiemy, co myślisz
    3. Wiemy, co myśli Twój mózg
    4. Metapoznanie — myślenie o myśleniu
    5. To, co MY zrobiliśmy
    6. Przeczytaj to
    7. Podziękowania
  6. 1. Podstawy. Szybki start
    1. Znaczenie okien środowiska IDLE
    2. Uruchamianie kodu instrukcja po instrukcji
    3. Funkcje + moduły = biblioteka standardowa
    4. Struktury danych są wbudowane
    5. Wywoływanie metod daje wyniki
    6. Decydowanie, kiedy należy wykonać blok kodu
    7. Co jeszcze może Ci dać instrukcja warunkowa?
    8. Zestawy mogą zawierać zagnieżdżone zestawy
    9. Powrót do powłoki Pythona
    10. Eksperymentowanie w powłoce
    11. Iterowanie po sekwencji obiektów
    12. Iterowanie określoną liczbę razy
    13. Zastosowanie rezultatu Zadania nr 1 w naszym kodzie
    14. Przygotowanie do wstrzymania wykonania
    15. Generowanie losowych liczb całkowitych w Pythonie (1/2)
    16. Generowanie losowych liczb całkowitych w Pythonie (2/2)
    17. Pisanie poważnej aplikacji biznesowej
    18. Czy wcięcia doprowadzają Cię do szału?
    19. Proszenie interpretera o pomoc dotyczącą funkcji
    20. Eksperymentowanie z zakresami
    21. Kod przykładów z rozdziału 1.
  7. 2. Listy. Korzystanie z uporządkowanych danych
    1. Liczby, łańcuchy znakowe... i obiekty
    2. Poznaj cztery wbudowane struktury danych
    3. Nieuporządkowana struktura danych: słownik
    4. Struktura danych, która eliminuje duplikaty: zbiór
    5. Literalne tworzenie list
    6. Korzystaj z edytora, gdy pracujesz nad dłuższym fragmentem kodu
    7. „Rozrost” listy w czasie wykonywania
    8. Sprawdzanie przynależności za pomocą operatora in
    9. Usuwanie obiektów z listy
    10. Poszerzanie listy o nowe obiekty
    11. Wstawianie obiektu na listę (1/2)
    12. Wstawianie obiektu na listę (2/2)
    13. Jak skopiować strukturę danych
    14. Listy rozszerzają notację wykorzystującą nawiasy kwadratowe
    15. Listy „rozumieją” początek, koniec i krok
    16. Działania na początku i końcu listy
    17. Zaprzęganie wycinków do pracy z listami (1/2)
    18. Zaprzęganie wycinków do pracy z listami (2/2)
    19. Pętla for w języku Python „rozumie” listy
    20. Wycinki listy Marvina z bliska
    21. Kiedy nie używać list
    22. Kod przykładów z rozdziału 2. (1. z 2)
  8. 3. Korzystanie z danych strukturalnych. Dane strukturalne
    1. Słownik przechowuje pary klucz-wartość
    2. Jak znaleźć słownik w kodzie
    3. Kolejność wprowadzania NIE jest zachowywana
    4. Wyszukiwanie wartości przy użyciu nawiasów kwadratowych
    5. Korzystanie ze słowników w czasie wykonywania programu
    6. Aktualizacja licznika częstotliwości
    7. Iterowanie po słowniku
    8. Iterowanie po kluczach i wartościach
    9. Iterowanie po słowniku przy użyciu metody items
    10. Jak dynamiczne są słowniki?
    11. Unikanie wyjątków KeyError w czasie wykonania
    12. Sprawdzanie przynależności za pomocą operatora in
    13. Zapewnianie inicjalizacji przed użyciem
    14. Zastępowanie operatora in operatorami not in
    15. Zaprzęganie metody setdefault do pracy
    16. Wydajne tworzenie zbiorów
    17. Korzystanie z metod zbioru (1/2)
    18. Korzystanie z metod zbioru (2/2)
    19. Tworzenie przypadku dla krotek
    20. Łączenie wbudowanych struktur danych (1/2)
    21. Łączenie wbudowanych struktur danych (2/2)
    22. Uzyskiwanie dostępu do złożonych struktur danych
    23. Kod przykładów z rozdziału 3. (1. z 2)
  9. 4. Ponowne użycie kodu. Funkcje i moduły
    1. Ponowne wykorzystywanie kodu za pomocą funkcji
    2. Wprowadzenie do funkcji
    3. Wywoływanie Twojej funkcji
    4. Funkcje przyjmują argumenty
    5. Zwracanie jednej wartości
    6. Zwracanie więcej niż jednej wartości
    7. Przypomnienie wbudowanych struktur danych
    8. Tworzenie funkcji ogólnego przeznaczenia
    9. Tworzenie kolejnej funkcji (1. z 3)
    10. Określanie domyślnych wartości argumentów
    11. Układ pozycyjny kontra słowa kluczowe
    12. Odświeżanie tego, co już wiemy o funkcjach
    13. Uruchamianie Pythona z wiersza poleceń
    14. Tworzenie wymaganych plików konfiguracji
    15. Tworzenie pliku dystrybucji
    16. Instalowanie pakietów za pomocą narzędzia pip
    17. Prezentacja semantyki „wywołania przez wartość”
    18. Prezentacja semantyki „wywołania przez referencję”
    19. Instalacja narzędzi programistycznych do testowania
    20. Jak bardzo zgodny z PEP 8 jest nasz kod?
    21. Znaczenie komunikatów błędów
    22. Kod przykładów z rozdziału 4.
  10. 5. Budowanie aplikacji WWW. Coś praktycznego
    1. Python: co już wiemy
    2. Czego oczekujemy od naszej aplikacji WWW?
    3. Zainstalujmy framework Flask
    4. Jak działa framework Flask?
    5. Pierwsze uruchomienie aplikacji WWW wykorzystującej framework Flask
    6. Tworzenie obiektu aplikacji WWW frameworka Flask
    7. Dekorowanie funkcji za pomocą ciągu URL
    8. Uruchamianie działań Twojej aplikacji WWW
    9. Udostępnianie funkcji w sieci
    10. Budowanie formularza HTML
    11. Szablony mają związek ze stronami WWW
    12. Renderowanie szablonów z poziomu Flaska
    13. Wyświetlanie formularza HTML aplikacji WWW
    14. Przygotowanie do uruchomienia kodu szablonu
    15. Znaczenie kodów stanu HTTP
    16. Obsługa danych przekazywanych za pomocą metody POST
    17. Ulepszenie cyklu edycji, zatrzymywania, uruchamiania i testowania
    18. Dostęp do danych formularza HTML za pomocą Flaska
    19. Używanie danych żądania w swojej aplikacji WWW
    20. Generowanie wyników w postaci kodu HTML (1/2)
    21. Generowanie wyników w postaci kodu HTML (2/2)
    22. Przygotowywanie aplikacji WWW do umieszczenia w chmurze
    23. Kod przykładów z rozdziału 5.
  11. 6. Przechowywanie danych i manipulowanie nimi. Gdzie umieścić Twoje dane
    1. Robienie czegoś z danymi Twojej aplikacji WWW
    2. Python obsługuje otwieranie, przetwarzanie i zamykanie
    3. Odczytywanie danych z istniejącego pliku
    4. Lepsze otwieranie, przetwarzanie i zamykanie za pomocą instrukcji with (1/2)
    5. Lepsze otwieranie, przetwarzanie i zamykanie za pomocą instrukcji with (2/2)
    6. Przeglądanie logu za pomocą naszej aplikacji WWW
    7. Sprawdzanie surowych danych za pomocą przeglądarki źródeł strony
    8. Czas na użycie sekwencji ucieczki (w stosunku do Twoich danych)
    9. Przeglądanie pełnego logu w Twojej aplikacji WWW
    10. Logowanie wybranych atrybutów żądania sieciowego
    11. Loguj pojedynczy wiersz rozdzielonych danych
    12. Od surowych danych do czytelnych danych wyjściowych (1/2)
    13. Od surowych danych do czytelnych danych wyjściowych (2/2)
    14. Generowanie czytelnych danych wyjściowych przy użyciu kodu HTML
    15. Osadzanie logiki wyświetlania w swoim szablonie
    16. Produkcja czytelnych danych wyjściowych przy użyciu silnika Jinja2
    17. Bieżący stan kodu naszej aplikacji WWW
    18. Zadawanie pytań na temat swoich danych
    19. Kod przykładów z rozdziału 6.
  12. 7. Używanie bazy danych. Stosowanie DB-API języka Python
    1. Włączanie obsługi bazy danych w Twojej aplikacji WWW
    2. Zadanie nr 1: Zainstaluj serwer bazy danych MySQL
    3. Wprowadzenie do DB-API języka Python
    4. Zadanie nr 2: Zainstaluj sterownik bazy danych MySQL dla języka Python
    5. Zainstaluj sterownik MySQL-Connector/Python
    6. Zadanie nr 3: Utwórz bazę danych i tabele dla naszej aplikacji WWW
    7. Wybierz strukturę dla swojego logu
    8. Potwierdź, że Twoja tabela jest gotowa na przyjęcie danych (1/2)
    9. Potwierdź, że Twoja tabela jest gotowa na przyjęcie danych (2/2)
    10. Zadanie nr 4: Utwórz kod, za pomocą którego nasza aplikacja WWW będzie korzystała z bazy danych i tabel
    11. Przechowywanie danych to dopiero połowa sukcesu
    12. Jak najlepiej ponownie użyć Twojego kodu obsługi bazy danych?
    13. Zastanów się, co próbujesz ponownie wykorzystać
    14. A co z tą instrukcją importowania?
    15. Miałeś już wcześniej do czynienia z tym wzorcem
    16. Zła wiadomość nie jest wcale aż taka zła
    17. Kod przykładów z rozdziału 7.
  13. 8. Trochę klasy. Łączenie zachowania ze stanem
    1. Zastosowanie instrukcji with
    2. Elementarz programowania zorientowanego obiektowo
    3. Tworzenie obiektów klas
    4. Obiekty współdzielą zachowanie, ale nie stan
    5. Więcej działań z klasą CountFromBy
    6. Wywołanie metody: zrozumienie szczegółów
    7. Dodawanie metody do klasy
    8. Duże znaczenie self
    9. Radzenie sobie z zasięgiem
    10. Poprzedzaj swoje atrybuty nazwą self
    11. Inicjalizuj wartości (atrybutów) przed użyciem
    12. Dunder init umożliwia inicjalizowanie atrybutów
    13. Inicjalizowanie atrybutów za pomocą dundera init
    14. Znaczenie reprezentacji klasy CountFromBy
    15. Definiowanie reprezentacji klasy CountFromBy
    16. Zapewnianie sensownych wartości domyślnych dla klasy CountFromBy
    17. Klasy: co już wiemy
    18. Kod przykładów z rozdziału 8.
  14. 9. Protokół zarządzania kontekstem. Korzystanie z instrukcji with języka Python
    1. W jaki sposób najlepiej współdzielić kod obsługi bazy danych naszej aplikacji WWW?
    2. Zarządzanie kontekstem za pomocą metod
    3. Menedżer kontekstu widziałeś już w akcji
    4. Utwórz nową klasę menedżera kontekstu
    5. Zainicjalizuj klasę przy użyciu konfiguracji bazy danych
    6. Dokonaj konfiguracji za pomocą metody __enter__
    7. Przeprowadź demontaż za pomocą metody __exit__
    8. Zrewiduj kod swojej aplikacji WWW (1. z 2)
    9. Przypomnienie funkcji log_request
    10. Modyfikacja funkcji log_request
    11. Przypomnienie funkcji view_the_log
    12. Nie tylko kod się tu zmienia
    13. Modyfikacja funkcji view_the_log
    14. Odpowiadanie na pytania o dane
    15. Kod przykładów z rozdziału 9. (1. z 2)
  15. 10. Dekoratory funkcji. Opakowywanie funkcji
    1. Twój kod działa na serwerze WWW (nie na Twoim komputerze)
    2. Technologia sesji frameworka Flask zapewnia stan
    3. Przeszukiwanie słownika umożliwia pobranie stanu
    4. Zarządzanie logowaniem za pomocą sesji
    5. Zajmijmy się wylogowywaniem i sprawdzaniem stanu (1/2)
    6. Zajmijmy się wylogowywaniem i sprawdzaniem stanu (2/2)
    7. Przekaż funkcję do funkcji
    8. Wywoływanie przekazanej funkcji
    9. Przyjmowanie listy argumentów
    10. Przetwarzanie listy argumentów
    11. Przyjmowanie słowników argumentów
    12. Przetwarzanie słownika argumentów
    13. Przyjmowanie dowolnej liczby i typu argumentów funkcji
    14. Tworzenie dekoratora funkcji
    15. Ostatni krok: obsługa argumentów
    16. Zaprzęganie Twojego dekoratora do pracy
    17. Powrót do ograniczania dostępu do strony /viewlog
    18. Kod przykładów z rozdziału 10. (1. z 2)
  16. 11. Obsługa wyjątków. Co robić, gdy sprawy idą źle
    1. Bazy danych nie są zawsze dostępne
    2. Ataki sieciowe to prawdziwy problem
    3. Operacje wejścia-wyjścia są (czasami) powolne
    4. Wywołania Twoich funkcji mogą się nie powieść
    5. Kod podatny na błędy powinieneś zawsze próbować wykonywać
    6. Korzystaj z jednej instrukcji try, ale wielu klauzul except
    7. Kod obsługi wszystkich wyjątków
    8. Poznawanie wyjątków za pomocą modułu sys
    9. Zrewidowany kod obsługi wszystkich wyjątków
    10. Powrót do kodu naszej aplikacji WWW
    11. Cicha obsługa wyjątków (1/2)
    12. Cicha obsługa wyjątków (2/2)
    13. Obsługa innych błędów bazy danych
    14. Unikaj ściśle sprzężonego kodu
    15. Zrewidowany moduł DBcm
    16. Tworzenie własnego wyjątku
    17. Co jeszcze może pójść źle z modułem DBcm?
    18. Obsługa wyjątku SQLError odbywa się w inny sposób
    19. Zgłaszanie wyjątku SQLError
    20. Szybkie przypomnienie: poprawianie odporności
    21. Jak radzić sobie z czekaniem? To zależy...
    22. Kod przykładów z rozdziału 11. (1. z 3)
  17. 11 3/4. Trochę wątków. Radzenie sobie z oczekiwaniem
    1. Oczekiwanie: co robić?
    2. Jak odpytujesz swoją bazę danych?
    3. Instrukcje INSERT i SELECT są różne
    4. Robienie więcej niż jednej rzeczy naraz
    5. Nie daj się zdołować: użyj wątków
    6. Najpierw najważniejsze: nie panikuj
    7. Nie daj się zdołować: pomóc może Ci framework Flask
    8. Czy Twoja aplikacja jest teraz odporna?
    9. Kod przykładów z rozdziału 11 3/4 (1. z 2)
  18. 12. Zaawansowana iteracja. Szalone zapętlenie
    1. Odczytywanie danych CSV jako list
    2. Odczytywanie danych CSV jako słowników
    3. „Obieranie”, a następnie podział Twoich surowych danych
    4. Zachowaj ostrożność, łącząc wywołania metod w łańcuch
    5. Przekształcanie danych na format, którego potrzebujesz
    6. Przekształcanie do postaci słownika list
    7. Dostrzeganie wzorców w przypadku list
    8. Przekształcanie wzorców w komprehencje
    9. Przyjrzyj się uważnie swojej komprehencji
    10. Definiowanie komprehencji słownika
    11. Rozszerz komprehencje za pomocą filtrów
    12. Poradź sobie z komplikacjami w sposób charakterystyczny dla Pythona (1/2)
    13. Poradź sobie z komplikacjami w sposób charakterystyczny dla Pythona (2/2)
    14. Komprehencja zbioru w akcji
    15. Co z „komprehencjami krotek”?
    16. Nawiasy okrągłe wokół kodu = generator
    17. Używanie komprehencji listy do przetwarzania URL-i
    18. Używanie generatora do przetwarzania URL-i
    19. Zdefiniuj, co powinna robić Twoja funkcja
    20. Ulegnij potędze funkcji generatorowych
    21. Śledzenie Twojej funkcji generatorowej (1. z 2)
    22. Ostatnie pytanie
    23. Kod przykładów z rozdziału 12.
    24. Czas w drogę...
  19. A. Instalacja. Instalowanie Pythona
    1. Zainstaluj Pythona 3 w systemie Windows
    2. Sprawdź Pythona 3 w systemie Windows
    3. Dodawanie modułów do Pythona 3 w systemie Windows
    4. Zainstaluj Pythona 3 w systemie Mac OS X (macOS)
    5. Sprawdź i skonfiguruj Pythona 3 w systemie Mac OS X
    6. Zainstaluj Pythona 3 w systemie Linux
  20. B. PythonAnywhere. Wdrażanie Twojej aplikacji WWW
    1. Krok 0. Niewielkie przygotowania
    2. Krok 1. Zarejestruj się w serwisie PythonAnywhere
    3. Krok 2. Wgraj swoje pliki do chmury
    4. Krok 3. Rozpakuj i zainstaluj swój kod
    5. Krok 4. Utwórz starter aplikacji WWW (1. z 2)
    6. Krok 5. Skonfiguruj swoją aplikację WWW
    7. Krok 6. Weź w obroty swoją aplikację WWW działającą w chmurze!
  21. C. Dziesięć najważniejszych tematów, których nie poruszyliśmy. Zawsze można się czegoś jeszcze nauczyć
    1. 1. Co z Pythonem 2?
    2. 2. Wirtualne środowiska programistyczne
    3. 3. Więcej na temat obiektowości
    4. 4. Specyfikatory formatów łańcuchów znakowych i tym podobne
    5. 5. Sortowanie rzeczy
    6. 6. Więcej z biblioteki standardowej
    7. 7. Równoległe wykonywanie Twojego kodu
    8. 8. Graficzne interfejsy użytkownika z biblioteką tkinter (i zabawa z żółwiami)
    9. 9. Kod nie jest skończony, dopóki nie jest przetestowany
    10. 10. Debuguj, debuguj, debuguj
  22. D. Dziesięć najważniejszych nieomówionych projektów. Jeszcze więcej narzędzi, bibliotek i modułów
    1. 1. Alternatywy dla wiersza poleceń powłoki Pythona
    2. 2. Alternatywy dla środowiska IDLE
    3. 3. Jupyter Notebook: IDE dostępne z poziomu przeglądarki WWW
    4. 4. Przeprowadzanie analizy danych
    5. 5. Rozwiązania do tworzenia aplikacji WWW
    6. 6. Korzystanie z danych sieciowych
    7. 7. Więcej źródeł danych
    8. 8. Narzędzia programistyczne
    9. 9. Kivy: nasz wybór w kategorii „Najfajniejszy projekt wszech czasów”
    10. 10. Alternatywne implementacje
  23. E. Zaangażowanie się. Społeczność Pythona
    1. BDFL: Benevolent Dictator for Life
    2. Tolerancyjna społeczność: szacunek dla różnorodności
    3. Podkasty dotyczące Pythona
    4. Zen Pythona
    5. Którą książkę powinienem przeczytać jako następną?
    6. Nasze ulubione książki na temat Pythona
  24. Skorowidz (1/2)
  25. Skorowidz (2/2)

Product information

  • Title: Python Rusz głową! Wydanie II
  • Author(s): Paul Barry
  • Release date: November 2017
  • Publisher(s): Helion
  • ISBN: 9788328337343