Python z życia wzięty. Rozwiązywanie problemów za pomocą kilku linii kodu - ebook
Python z życia wzięty. Rozwiązywanie problemów za pomocą kilku linii kodu - ebook
Po nauczeniu się podstaw Pythona przychodzi czas na coś poważniejszego. Umiesz już napisać kilkanaście linii kodu, który działa zgodnie z oczekiwaniami, znasz składnię języka i wiesz, jakie możliwości oferuje. Być może nawet traktujesz tworzenie kodu w Pythonie jako świetną zabawę. W każdym razie, skoro znasz już podstawy, możesz się zająć prawdziwymi projektami. Dzięki nim nie tylko rozwiążesz palące problemy codziennego życia, ale również nauczysz się tworzyć kompletne, funkcjonalne programy. Programy, które będą działać.
Ta książka jest sposobem na dalszą naukę programowania poprzez realizację projektów. Każdy z nich został wyjaśniony krok po kroku, opisano też sposoby korzystania z licznych bibliotek i pakietów Pythona. Dzięki projektom dowiesz się, jak wykorzystywać programowanie do realizacji eksperymentów, testowania teorii, naśladowania natury lub po prostu do zabawy. Nabierzesz wprawy w pracy z bibliotekami i modułami Pythona, nauczysz się także pożytecznych skrótów, przydatnych funkcji i innych pomocnych technik. W efekcie lektury w łatwy sposób zrealizujesz zadania, które kiedyś spędzały sen z powiek geniuszom - a to dopiero początek przygody z Pythonem!
Dzięki książce dowiesz się, jak:
- używać bibliotek: matplotlib, NumPy, Bokeh, pandas, Requests, Beautiful Soup i turtle
- tworzyć szyfry, szyfrować i odszyfrowywać wiadomości
- przetwarzać język naturalny i pisać kod do rozpoznawania obrazów
- pisać programy wykrywające i śledzące obiekty
- korzystać z narzędzi do analizy i wizualizacji danych
Python. Być może polegniesz, a może Ci się uda!
Spis treści
- O autorze
- O korektorach technicznych
- Podziękowania
- Wprowadzenie
- Do kogo skierowana jest ta książka?
- Dlaczego Python?
- Co zawiera ta książka?
- Wersja języka Python, system operacyjny i środowisko programistyczne
- Instalacja Pythona
- Uruchomienie Pythona
- Środowisko wirtualne
- Naprzód!
- 1. Uratuj rozbitków dzięki twierdzeniu Bayesa
- Twierdzenie Bayesa
- Projekt #1: Symulacja misji poszukiwawczo-ratunkowej
- Strategia
- Instalacja bibliotek Pythona
- Instalacja NumPy i innych pakietów naukowych za pomocą narzędzia pip
- Instalacja OpenCV za pomocą narzędzia pip
- Kod programu
- Import modułów
- Definicja klasy Search
- Rysowanie mapy
- Wybór końcowej lokalizacji zaginionego
- Liczenie skuteczności i realizacja poszukiwań
- Zastosowanie twierdzenia Bayesa i utworzenie menu
- Definicja funkcji main()
- Interpretacja wyboru opcji z menu
- Zakończenie pętli i wywołanie funkcji main()
- Uruchomienie gry
- Podsumowanie
- Dalsza lektura
- Samodzielny projekt: Inteligentniejsze poszukiwania
- Samodzielny projekt: Znajdź najlepszą strategię dzięki metodzie Monte Carlo
- Samodzielny projekt: Obliczanie prawdopodobieństwa wykrycia
- 2. Określ autora za pomocą stylometrii
- Projekt #2: Pies, wojna i zaginiony świat
- Strategia
- Instalacja NLTK
- Pobieranie tokenizera
- Pobieranie pakietu Stopwords Corpus
- Korpusy
- Kod programu
- Import modułów i definicja funkcji main()
- Pobranie tekstu i utworzenie słownika z wyrazami
- Znalezienie najkrótszego korpusu
- Porównywanie długości słów
- Porównanie słów nieindeksowanych
- Porównanie części mowy
- Porównanie słownictwa
- Obliczanie współczynnika podobieństwa Jaccarda
- Podsumowanie
- Dalsza lektura
- Zadanie praktyczne: Gdzie jest pies pogrzebany?
- Zadanie praktyczne: Mapa interpunkcji
- Samodzielny projekt: Popraw wyliczanie częstości
- Projekt #2: Pies, wojna i zaginiony świat
- 3. Streść przemówienie dzięki narzędziom do przetwarzania języka naturalnego
- Projekt #3: Mam marzenie... streszczać przemówienia!
- Strategia
- Web scraping
- Kod programu
- Import modułów i definicja funkcji main()
- Uzupełnienie funkcji main()
- Usunięcie słów nieindeksowanych
- Obliczanie częstości występowania słów
- Ranking zdań
- Uruchomienie programu
- Projekt #4: Podsumowywanie przemówień z biblioteką gensim
- Instalacja biblioteki gensim
- Kod programu
- Import modułów, pobranie przemówienia ze strony i wstępna obróbka
- Streszczanie przemówienia
- Projekt #5: Streszczenia w postaci chmur słów
- Moduły wordcloud i PIL
- Kod programu
- Import modułów, plików tekstowych, obrazów i słów nieindeksowanych
- Generowanie chmury słów
- Wydruk chmury słów
- Drobne zmiany
- Podsumowanie
- Dalsza lektura
- Samodzielny projekt: Wieczór gier
- Samodzielny projekt: Streszczenie streszczenia
- Samodzielny projekt: Streszczenie powieści
- Samodzielny projekt: Nie chodzi tylko o to, co mówisz, ale jak to mówisz!
- Projekt #3: Mam marzenie... streszczać przemówienia!
- 4. Zakoduj supertajną wiadomość szyfrem książkowym
- Jednorazowy bloczek szyfrowy
- Szyfr Rebeki
- Projekt #6: Cyfrowy klucz do Rebeki
- Strategia
- Kod programu
- Import modułów i definicja funkcji main()
- Wgrywanie pliku i tworzenie słownika
- Szyfrowanie wiadomości
- Odszyfrowywanie wiadomości
- Sprawdzenie poprawności i wywołanie funkcji main()
- Wysyłanie wiadomości
- Podsumowanie
- Dalsza lektura
- Zadanie praktyczne: Wykresy znaków
- Zadanie praktyczne: Przesyłanie tajnych wiadomości jak w czasie II wojny światowej
- 5. Znajdź Plutona
- Projekt #7: Replikacja komparatora błyskowego
- Strategia
- Dane
- Kod programu
- Import modułów i definicje stałych
- Definicja funkcji main()
- Pętla w funkcji main()
- Znajdowanie najlepszych dopasowań punktów kluczowych
- Sprawdzanie najlepszych dopasowań
- Rejestracja obrazu
- Budowa komparatora błyskowego
- Używanie komparatora błyskowego
- Projekt #8: Wykrywanie przejściowych zjawisk astronomicznych dzięki różnicowaniu obrazów
- Strategia
- Kod programu wykrywacza zjawisk
- Import modułów i definicje stałych
- Wykrywanie i zaznaczanie przejściowych zjawisk astronomicznych
- Przygotowywanie plików i katalogów
- Utworzenie pętli przechodzącej przez obrazy i wyliczenie różnic bezwzględnych
- Odkrycie zjawiska i zapisanie obrazu
- Korzystanie z wykrywacza przejściowych zjawisk astronomicznych
- Podsumowanie
- Dalsza lektura
- Zadanie praktyczne: Wyznaczenie ścieżki orbitalnej
- Zadanie praktyczne: Znajdź różnice
- Samodzielny projekt: Liczenie gwiazd
- Projekt #7: Replikacja komparatora błyskowego
- 6. Pomóż misji Apollo 8 wygrać wyścig na Księżyc
- Zrozumieć misję Apollo 8
- Trajektoria swobodnego powrotu
- Problem trzech ciał
- Projekt #9: Na Księżyc z misją Apollo 8!
- Użycie modułu turtle
- Strategia
- Kod programu
- Import modułu turtle i definicje stałych
- Odtworzenie systemu grawitacji
- Tworzenie ciał niebieskich
- Przyspieszenie wynikające z grawitacji
- Przejście przez symulację
- Definicja funkcji main(), ustawienia ekranu i utworzenie układu ciał
- Utworzenie Ziemi i Księżyca
- Niestandardowy kształt modułu CSM
- Utworzenie modułu CSM, początek symulacji i wywołanie funkcji main()
- Uruchomienie symulacji
- Podsumowanie
- Dalsza lektura
- Zadanie praktyczne: Symulacja poszukiwań
- Zadanie praktyczne: Na miejsca, gotowi, start!
- Zadanie praktyczne: Przystanek Księżyc
- Samodzielny projekt: Symulacja z zachowaniem skali
- Samodzielny projekt: Prawdziwa misja Apollo 8
- Zrozumieć misję Apollo 8
- 7. Wybierz miejsce na marsjańskie lądowisko
- Jak wylądować na Marsie?
- Mapa MOLA
- Projekt #10: Wybór marsjańskich lądowisk
- Strategia
- Kod programu
- Import modułów i definicje stałych
- Utworzenie stałych pochodnych oraz obiektu screen
- Definicja i inicjalizacja klasy Search
- Obliczanie wskaźników
- Sprawdzanie lokalizacji prostokątów
- Sortowanie wyników i ocena prostokątów
- Rysowanie najlepszych prostokątów na mapie
- Końcowy wynik w kolorze
- Uruchomienie programu
- Wyniki
- Podsumowanie
- Dalsza lektura
- Zadanie praktyczne: Sprawdź, czy rysunki są częścią obrazu
- Zadanie praktyczne: Profil wysokościowy
- Zadanie praktyczne: Wykres trójwymiarowy
- Zadanie praktyczne: Miksowanie map
- Samodzielny projekt: Trzy za jednym zamachem
- Samodzielny projekt: Zawijanie prostokątów
- 8. Wykryj odległe egzoplanety
- Fotometria tranzytowa
- Projekt #11: Symulacja tranzytu egzoplanety
- Strategia
- Kod programu
- Import modułów i utworzenie stałych
- Definicja funkcji main()
- Rejestracja tranzytu
- Obliczanie względnej jasności i rysowanie wykresu krzywej blasku
- Eksperymenty z fotometrią tranzytową
- Projekt #12: Obrazy egzoplanet
- Strategia
- Kod programu
- Import modułów i zmniejszanie obrazów
- Uśrednienie wartości kanałów kolorów i utworzenie diagramów kołowych
- Rysowanie diagramu dla pojedynczego piksela
- Podsumowanie
- Dalsza lektura
- Zadanie praktyczne: Wykrywanie obcych megastruktur
- Zadanie praktyczne: Wykrywanie tranzytów asteroid
- Zadanie praktyczne: Uwzględnienie pociemnienia brzegowego
- Zadanie praktyczne: Wykrywanie plam słonecznych
- Zadanie praktyczne: Wykryj obcą armadę
- Zadanie praktyczne: Wykryj planetę z księżycem
- Zadanie praktyczne: Pomiar długości dnia na egzoplanecie
- Samodzielny projekt: Dynamiczne generowanie krzywej blasku
- 9. Rozpoznaj wroga
- Wykrywanie twarzy na zdjęciach
- Projekt #13: Zaprogramowanie automatycznej wieżyczki obronnej
- Strategia
- Kod programu
- Import modułów, konfiguracja dźwięku oraz utworzenie odniesień do plików klasyfikatora i obrazów przedstawiających korytarz
- Emisja ostrzeżenia, wczytanie obrazów i wykrywanie twarzy
- Wykrywanie oczu i dezaktywacja broni
- Przepuszczenie człowieka lub otworzenie ognia
- Wykrywanie twarzy ze strumienia wideo
- Podsumowanie
- Dalsza lektura
- Zadanie praktyczne: Rozmywanie twarzy
- Samodzielny projekt: Detektor kocich pyszczków
- 10. Zabezpiecz dostęp do laboratorium dzięki rozpoznawaniu twarzy
- Rozpoznawanie twarzy dzięki LBPH
- Diagram przepływu procesu rozpoznawania twarzy
- Pozyskiwanie histogramów lokalnych wzorców binarnych
- Projekt #14: Zabezpiecz dostęp do obcego artefaktu
- Strategia
- Potrzebne moduły i pliki
- Kod pobierający obraz wideo
- Import modułów, ustawienia dźwięku i kamery, instrukcje oraz ścieżki do plików
- Pozyskiwanie obrazów szkoleniowych
- Kod programu z etapu szkolenia
- Kod programu z etapu predykcji
- Import modułów i przygotowanie algorytmu do rozpoznawania twarzy
- Rozpoznawanie twarzy i aktualizacja dziennika dostępu
- Wyniki
- Podsumowanie
- Dalsza lektura
- Samodzielny projekt: Dodanie hasła i rejestrowania obrazu wideo
- Samodzielny projekt: Bliźniaki i sobowtóry
- Samodzielny projekt: Machina czasu
- Rozpoznawanie twarzy dzięki LBPH
- 11. Opracuj interaktywną mapę ucieczki przed zombie
- Projekt #15: Wizualizacja gęstości zaludnienia na kartogramie
- Strategia
- Biblioteka pandas
- Biblioteki bokeh i holoviews
- Instalacja modułów pandas, bokeh i holoviews
- Pobieranie danych dotyczących hrabstw, stanów, bezrobocia i gęstości zaludnienia
- Hakowanie holoviews
- Kod programu
- Import modułów i danych oraz utworzenie obiektu dataframe
- Usuwanie wierszy opisujących stany oraz przygotowanie kodów stanów i hrabstw
- Przygotowywanie danych do wyświetlenia
- Rysowanie kartogramu
- Planowanie ucieczki
- Podsumowanie
- Dalsza lektura
- Samodzielny projekt: Wyświetlanie zmian w zaludnieniu Stanów Zjednoczonych
- Projekt #15: Wizualizacja gęstości zaludnienia na kartogramie
- 12. Czy żyjemy w symulacji komputerowej?
- Projekt #16: Życie, wszechświat i staw żółwia Yertle
- Kod programu
- Import modułu turtle, przygotowanie ekranu i rysowanie wyspy
- Rysowanie kłody, dziury po sęku oraz żółwia Yertle
- Implikacje symulacji stawu
- Liczenie kosztu poruszania się po siatce
- Kod programu
- Wyniki
- Kod programu
- Strategia
- Podsumowanie
- Dalsza lektura
- Co dalej?
- Samodzielny projekt: Znajdź bezpieczną przystań
- Samodzielny projekt: Tutaj wstaje słońce
- Samodzielny projekt: Widzieć oczami psa
- Samodzielny projekt: Niestandardowe krzyżówki
- Samodzielny projekt: Uproszczenie pokazu slajdów
- Samodzielny projekt: Cóż za skomplikowana sieć!
- Samodzielny projekt: Z góry dziękuję
- Projekt #16: Życie, wszechświat i staw żółwia Yertle
- A. Rozwiązania zadań praktycznych
- Rozdział 2. Określ autora za pomocą stylometrii
- Gdzie jest pies pogrzebany?
- Mapa interpunkcji
- Rozdział 4. Zakoduj supertajną wiadomość szyfrem książkowym
- Wykresy znaków
- Przesyłanie tajnych wiadomości jak w czasie II wojny światowej
- Rozdział 5. Znajdź Plutona
- Wyznaczenie ścieżki orbitalnej
- Znajdź różnice
- Rozdział 6. Pomóż misji Apollo 8 wygrać wyścig na Księżyc
- Symulacja poszukiwań
- Na miejsca, gotowi, start!
- Przystanek Księżyc
- Rozdział 7. Wybierz miejsce na marsjańskie lądowisko
- Sprawdź, czy rysunki są częścią obrazu
- Profil wysokościowy
- Wykres trójwymiarowy
- Miksowanie map
- Rozdział 8. Wykryj odległe egzoplanety
- Wykrywanie obcych megastruktur
- Wykrywanie tranzytów asteroid
- Uwzględnienie pociemnienia brzegowego
- Wykryj obcą armadę
- Wykryj planetę z księżycem
- Pomiar długości dnia na egzoplanecie
- Rozdział 9. Rozpoznaj wroga
- Rozmywanie twarzy
- Rozdział 10. Zabezpiecz dostęp do laboratorium dzięki rozpoznawaniu twarzy
- Samodzielny projekt: Dodanie hasła i rejestrowania obrazu wideo
- Rozdział 2. Określ autora za pomocą stylometrii
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-8347-0 |
Rozmiar pliku: | 38 MB |