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