E-book details

Python. Rusz głową! Wydanie III

Python. Rusz głową! Wydanie III

Paul Barry

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

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

  • Title: Python. Rusz głową! Wydanie III
  • Author: Paul Barry
  • Original title: Head First Python: A Learner's Guide to the Fundamentals of Python Programming, A Brain-Friendly Guide, 3rd Edition
  • Translation: Piotr Rajca
  • ISBN: 978-83-289-0701-0, 9788328907010
  • Date of issue: 2024-11-05
  • Format: Ebook
  • Item ID: pytrg3
  • Publisher: Helion