Python. Rusz głową! - ebook
Python. Rusz głową! - ebook
Python jest wyjątkowy! Umożliwia nie tylko tworzenie rozbudowanych aplikacji, ale również rozwiązywanie złożonych problemów. Korzystają z niego programiści, analitycy danych, naukowcy, inżynierowie, specjaliści od sztucznej inteligencji i profesjonaliści z wielu innych dziedzin. Przystępność i uniwersalność Pythona sprawiają, że jest jednym z najchętniej używanych języków programowania. Jeśli przed zagłębieniem się w tajniki kodowania powstrzymywała Cię obawa przed nudnym wertowaniem nieciekawych podręczników, to właśnie trzymasz w rękach książkę, która jest dla Ciebie!
Ta pozycja, podobnie jak inne z serii Rusz głową!, została przygotowana zgodnie z jedyną w swoim rodzaju metodyką nauczania, wykorzystującą zasady funkcjonowania ludzkiego mózgu. Dzięki zagadkom, tajemniczym historiom, angażującym ćwiczeniom i przystępnie podanej wiedzy bez trudu przyswoisz nawet dość złożone koncepcje, takie jak programowanie zorientowane obiektowo, aplikacje sieciowe czy uczenie maszynowe. Znajdziesz tu zabawne i niekonwencjonalne ilustracje, świetne analogie, a w toku nauki krok po kroku zbudujesz własną aplikację. Przekonasz się, że to absolutnie wyjątkowy i niezwykle skuteczny podręcznik!
Dzięki tej książce:
- opanujesz podstawy Pythona, w tym zmienne, typy danych, struktury danych i algorytmy
- zgłębisz tajniki funkcji, obiektów, klas i dziedziczenia
- przyswoisz zasady organizacji kodu w moduły i pakiety
- nauczysz się testować i debugować kod
- dowiesz się, jak używać baz danych w aplikacjach
- poznasz podstawy uczenia maszynowego w Pythonie
Jeśli Python jest na Twojej liście rzeczy do zrobienia, to zacznij od tej książki!
Daniel Hinojosa - programista, instruktor, prezenter
Spis treści
Wprowadzenie
- Dla kogo jest ta książka?
- Wiemy, co myślisz
- Wiemy, co myśli Twój mózg
- Metapoznanie - myślenie o myśleniu
- Oto co MY zrobiliśmy
- Przeczytaj to
- Instalujemy najnowszą wersję Pythona
- Sam Python to nie wszystko
- Skonfiguruj VS Code wedle własnych upodobań
- Dodaj dwa wymagane rozszerzenia do VS Code
- Wsparcie dla Pythona w VS Code jest nie do pobicia
- Zespół recenzentów technicznych
- Podziękowania
0. Dlaczego Python? Podobny, ale inny
- Przygotowania do wykonywania kodu
- Przygotowanie do pierwszego doświadczenia z Jupyterem
- Wprowadźmy trochę kodu do edytora notatnika
- Naciśnij Shift+Enter, aby uruchomić kod
- Co zrobić, jeśli chcesz więcej niż jedną kartę?
- Przyjrzyj się bliżej kodowi rysowania kart
- Wielka czwórka: lista, krotka, słownik i zbiór
- Stwórz swoją talię kart z użyciem zbioru
- print dir - podwójne mambo
- Uzyskiwanie pomocy na temat wyników dir
- Wypełniamy zbiór kartami
- Teraz to wygląda jak talia kart
- A właściwie czym jest zmienna card?
- Musisz coś znaleźć?
- Zróbmy przerwę i sprawdźmy, czym dysponujemy
- Python jest dostarczany wraz z bogatą biblioteką standardową
- W Pythonie piszesz tylko kod, którego potrzebujesz
- Kiedy już myślałeś, że to koniec...
1. Zaczynamy. Wskakujemy!
- Jak trener pracował do tej pory?
- Trener potrzebuje lepszego stopera
- Plik i arkusz kalkulacyjny są ze sobą "powiązane"
- Nasze pierwsze zadanie: wyodrębnić dane z nazwy pliku
- Łańcuch znaków to obiekt mający atrybuty
- Pobieramy dane pływaka z nazwy pliku
- Nie próbuj zgadywać, co robi dana metoda.
- Dzielenie łańcuchów znaków na części
- Wciąż zostaje nam coś do zrobienia
- Komunikaty błędów czytaj od dołu do góry
- Uważaj na łączenie wywołań metod
- Wypróbujmy inną metodę łańcuchów znaków
- Pozostało nam jedynie utworzenie paru zmiennych
- Zadanie nr 1 zostało wykonane!
- Zadanie nr 2: przetworzenie danych z pliku
2. Listy liczb. Przetwarzanie danych z list
- Zadanie nr 2: przetworzenie danych z pliku
- Zrób sobie kopię danych trenera
- Wbudowana funkcja open operuje na plikach
- Stosowanie with do otwierania (i zamykania) pliku
- Zmienne są tworzone dynamicznie, wedle potrzeb
- Tym, o co nam naprawdę chodzi, są dane z pliku
- Już mamy dane pływaków z pliku
- Kolejne czynności wyglądają znajomo
- Wiedza z poprzedniego rozdziału zaczyna przynosić korzyści
- Konwersja łańcucha z czasem na wartość liczbową
- Setne sekundy w Pythonie
- Krótka prezentacja pętli for w Pythonie
- Pojedynek na gołe pięści: pętla for kontra pętla while
- Idziemy do przodu, robiąc wielkie postępy!
- Zachowajmy kopię skonwertowanych czasów
- Wyświetlenie listy metod listy
- Nadszedł czas, by obliczyć średnią
- Konwersja średniej na format łańcucha z czasem
- Pora zebrać wszystko w całość
- Zadanie nr 2 jest (w końcu) gotowe!
3. Lista plików. Funkcje, moduły i pliki
- Już masz większość potrzebnego kodu
- Jak utworzyć funkcję w Pythonie?
- Zapisuj swój kod tak często, jak masz ochotę
- Zwyczajne skopiowanie kodu nie wystarczy
- Koniecznie skopiuj cały niezbędny kod
- Używaj modułów do współdzielenia kodu
- Pław się w blasku zwróconych danych
- W razie konieczności funkcje mogą zwracać krotki
- Przygotujmy listę nazw plików trenera
- Nadszedł czas, by pobawić się w detektywa.
- Co można robić z listami?
- Czy przyczyną problemu są dane, czy nasz kod?
- Decyzje, decyzje i jeszcze raz decyzje
- Poszukajmy dwukropka "w" łańcuchu
- Czy w efekcie przetworzyłeś 60 plików?
- Kod dla trenera zaczyna nabierać kształtu
4. Sformatowane literały łańcuchowe. Twórz wykresy na podstawie danych
- Tworzymy prosty wykres słupkowy przy użyciu HTML-a i SVG
- Przechodzimy od prostego wykresu do wykresu dla trenera
- Konstruujemy potrzebne łańcuchy z HTML-em w kodzie
- Konkatenacja łańcuchów znaków nie jest skalowalna
- F-łańcuchy są bardzo popularną możliwością Pythona
- Dzięki użyciu f-łańcuchów generowanie kodu SVG jest proste!
- Wciąż dysponujemy danymi, prawda?
- Zadbaj, by zwracane były wszystkie niezbędne dane
- Teraz już mamy dane liczbowe, ale czy nadają się one do użycia?
- Pozostaje nam już jedynie dokończyć stronę WWW
- Zapisywanie w plikach, podobnie jak odczyt z plików, jest bezbolesne
- Zostały już tylko poprawki estetyczne
- Czas na kolejną niestandardową funkcję
- Dodajmy kolejną funkcję do naszego modułu
- Co jest z tymi wartościami setnych sekundy?
- Zaokrąglanie nie jest tym, czego chcemy (w tym przypadku)
- Wszystko idzie doskonale.
5. Grunt to organizacja. Decyzje dotyczące struktur danych
- Pobierzmy listę imion pływaków
- Lista-zbiór-lista - sztuczka usuwająca powtórzenia
- Trener dysponuje już listą imion
- Mała zmiana robi "wielką" różnicę
- Każda krotka jest unikatowa
- Bardzo szybkie wyszukiwanie z użyciem słowników
- Słowniki to magazyny par klucz-wartość ułatwiające wyszukiwanie
- Anatomia tworzenia słownika
- Słowniki są zoptymalizowane pod kątem szybkości wyszukiwania
- Wyświetlanie całego słownika
- Moduł pprint wyświetla dane w atrakcyjny sposób
- Twój słownik list jest łatwy do przetwarzania
- Wszystko zaczyna do siebie pasować
6. Tworzenie aplikacji internetowych. Pisanie aplikacji internetowych
- Instalujemy Flaska z PyPI
- Przygotuj katalog aplikacji
- Podczas pracy z kodem mamy różne możliwości
- Anatomia minimalnej aplikacji Flaska
- Budujemy aplikację internetową kawałek po kawałku
- O co chodzi z tym NameError?
- Flask udostępnia wbudowaną obsługę sesji
- Do obsługi sesji Flask używa słownika
- Wprowadzenie w kodzie "lepszej poprawki"
- Tworzenie szablonów Jinja2 oszczędza czas
- Rozszerz szablon base.html, by utworzyć więcej stron
- Dynamiczne tworzenie listy rozwijanej
- Musimy w jakiś sposób przetworzyć dane formularza
- Dane z formularza są dostępne jako słownik
- Funkcje obsługują domyślne wartości parametrów
- Domyślne wartości parametrów są opcjonalne
- Końcowa wersja kodu, strona 1. z 2
- Końcowa wersja kodu, strona 2. z 2
- Jak na pierwszą aplikację internetową wygląda to dobrze
- System dla trenera jest gotowy do użycia
7. Wdrażanie. Uruchamiaj swój kod gdziekolwiek
- Wciąż coś wydaje się nie w porządku
- Jinja2 wykonuje kod zapisany pomiędzy {{ i }}.
- Dziesięć kroków wdrażania aplikacji w chmurze
- Konto dla początkujących to wszystko, czego Ci trzeba
- Nic Cię nie powstrzyma przed natychmiastowym rozpoczęciem.
- W razie wątpliwości pozostań przy ustawieniach domyślnych
- Wygenerowana aplikacja nie robi wiele
- Wdrażanie aplikacji w serwisie PythonAnywhere
- Rozpakuj swój kod z poziomu konsoli
- Skonfiguruj kartę Web, aby wskazywała na Twój kod
- Zmodyfikuj plik WSGI swojej aplikacji
- Twoja aplikacja działająca w chmurze jest gotowa!
8. Praca z HTML-em. Webscraping
- Trener potrzebuje więcej danych
- Przed pozyskaniem danych ze stron WWW musisz je poznać
- Potrzebujemy planu działania
- Przewodnik po scrapowaniu stron WWW krok po kroku
- Czas na poznanie technologii parsowania HTML-a
- Pobieramy nieprzetworzoną stronę HTML z Wikipedii
- Poznaj dane, które chcesz scrapować
- Wycinek można skopiować z dowolnej sekwencji
- Anatomia wycinków, 1. z 3
- Anatomia wycinków, 2. z 3
- Anatomia wycinków, 3. z 3
- Najwyższy czas na nieco poważniejsze parsowanie HTML-a
- Przeszukiwanie zupy w celu znalezienia interesujących nas znaczników
- Zwróconą zupę także można przeszukiwać
- Która tabela zawiera potrzebne dane?
- Cztery duże tabele i cztery zestawy rekordów świata
- Czas zająć się pobraniem faktycznych danych
- Pobieramy dane ze wszystkich tabel, 1. z 2
- Pobieramy dane ze wszystkich tabel, 2. z 2
- Ta zagnieżdżona pętla jest podchwytliwa
9. Praca z danymi. Manipulowanie danymi
- Naginanie danych do naszej woli.
- Teraz już dysponujesz potrzebnymi danymi.
- Skorzystaj z tego, co już potrafisz.
- Czy tu aby nie jest za dużo danych?
- Odrzucenie danych sztafet
- Teraz jesteś już gotów, by zaktualizować stronę z wykresami słupkowymi
- Python posiada wbudowaną bibliotekę do obsługi JSON-a
- JSON jest formatem tekstowym, ale niezbyt ładnym
- Dochodzimy do integracji z aplikacją internetową
- Wszystko, co trzeba: skopiuj i wklej.
- Dodawanie rekordów świata do wykresu słupkowego
- Czy najnowsza wersja aplikacji internetowej jest gotowa?
- Serwis PythonAnywhere zadba o to.
- Musisz skopiować także swój kod pomocniczy
- Prześlij aplikację do serwisu PythonAnywhere
- Poinstruuj serwis, by zaczął wykonywać Twój najnowszy kod
- Przetestuj skrypt przed wdrożeniem go w chmurze
- Niech zadanie będzie wykonywane codziennie o 1:00 w nocy
9,5. Praca z ramkami danych. Dane tabelaryczne
- Słoń w pomieszczeniu. a może to panda?
- Słownik słowników w pandas?
- Zaczynamy zgodnie z przyjętymi konwencjami
- Lista ramek danych
- Wybór kolumn z ramki danych
- Ramka danych na słownik, podejście 1.
- Usuwanie niepożądanych danych z ramki danych
- Negowanie wyrażeń warunkowych w pandas
- Ramka danych na słownik, podejście 2.
- Ramka danych na słownik, podejście 3.
- To jest kolejny słownik słowników
- Polonizacja słownika rekordów
- Gdzie są nasze dane?
- Porównanie gazpacho i pandas
- To był jedynie błyskawiczny rzut oka.
10. Bazy danych. Organizujemy się
- Odezwał się do nas trener.
- Planowanie popłaca.
- Zadanie nr 1: określenie struktury bazy danych
- Struktura z chusteczek + dane
- Instalowanie modułu DBcm z PyPI
- Początki z DBcm i ze SQLite
- DBcm świetnie współdziała z instrukcją "with"
- Kod SQL zapisuj pomiędzy sekwencjami trzech cudzysłowów
- Nie wszystkie polecenia SQL zwracają wyniki
- Twoje tabele są gotowe (a zadanie nr 1 jest wykonane)
- Określanie listy plików z wynikami pływaków
- Zadanie nr 2: dodawanie danych do tabeli
- Zachowaj bezpieczeństwo, używając w SQL-u symboli zastępczych Pythona
- Powtórzmy ten proces dla tabeli konkurencji
- Pozostaje już jedynie tabela czasów.
- Czasy są zapisane w plikach pływaków.
- Narzędzie do aktualizacji bazy danych, 1. z 2
- Narzędzie do aktualizacji bazy danych, 2. z 2
- Za danie nr 2 (w końcu) zostało wykonane
11. Listy składane. Integracja z bazą danych
- Wypróbujmy zapytania w nowym notatniku
- Pięć wierszy kodu pętli staje się jednym
- Podwójne mambo bez podkreśleń
- Jedno zapytanie z głowy, pozostają trzy.
- Dwa zapytania z głowy, pozostają jeszcze dwa.
- Ostatnie (zapytanie), choć nie najmniej ważne...
- Kod narzędzi danych, część 1. z 2
- Kod narzędzi danych, część 2. z 2
- Już niemal nadszedł czas na integrację bazy danych
- Aktualizacja istniejącego kodu aplikacji internetowej
- Zatem. o co chodzi z tym szablonem?
- Zajmijmy się wyświetleniem konkurencji
- Pozostaje nam już jedynie wyświetlenie wykresu
- Przeglądamy ostatni kod modułu klubplywacki.py
- Poznaj szablon Jinja2 do generowania kodu SVG
- Moduł narzedzia_konwersji
- list zip. że co?!?
- Integracja bazy danych z aplikacją została zakończona!
12. Kolejne wdrożenie. Ostatnie szlify.
- Migracja do MariaDB
- Przenoszenie danych trenera do MariaDB
- Ponowne wykorzystanie tabel, 1. z 2
- Wprowadź trzy zmiany w pliku schema.sql
- Ponowne wykorzystanie tabel, 2. z 2
- Sprawdź, czy tabele zostały zdefiniowane poprawnie
- Skopiowanie istniejących danych do bazy MariaDB
- Zadbaj o zgodność zapytań z MariaDB
- Zmienić trzeba także kod narzędzi bazy danych
- Utwórz bazę danych w serwisie PythonAnywhere
- Popraw słownik z informacjami do nawiązania połączenia z bazą
- Kopiowanie wszystkiego do chmury
- Zaktualizuj swoją aplikację, wgrywając najnowszy kod
- Jeszcze tylko kilka kroków.
- Wypełnij swoją bazę danych w chmurze danymi
- Nadszedł czas na "Jazdę próbną" aplikacji w chmurze
- Czy jest jakiś problem z PythonAnywhere?
- Trener jest naprawdę szczęśliwy!
Dodatek. Pozostałości. Dziesięć najważniejszych zagadnień, o których nie napisaliśmy
- 1. Klasy
- 2. Wyjątki
- 3. Testowanie
- 4. Wyrażenie przypisania
- 5. Gdzie jest switch? Jaki switch?
- 6. Zaawansowane możliwości języka
- 7. Współbieżność
- 8. Podpowiedzi typów
- 9. Środowiska wirtualne
- 10. Narzędzia
Skorowidz
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-289-0701-0 |
Rozmiar pliku: | 38 MB |