Python. Instrukcje dla programisty. Wydanie III Będzin

Pythona można się szybko nauczyć i praktycznie od razu zacząć tworzyć działające gry, aplikacje internetowe czy też programy wspierające badaczy różnych dziedzin nauki. Język ten został pomyślany tak, aby ułatwiał pisanie przejrzystego, zwięzłego kodu w sposób zgodny ze sztuką programowania. To …

od 59,50 Najbliżej: 33 km

Liczba ofert: 1

Oferta sklepu

Opis

Pythona można się szybko nauczyć i praktycznie od razu zacząć tworzyć działające gry, aplikacje internetowe czy też programy wspierające badaczy różnych dziedzin nauki. Język ten został pomyślany tak, aby ułatwiał pisanie przejrzystego, zwięzłego kodu w sposób zgodny ze sztuką programowania. To idealny wybór dla każdego, komu zależy, by nie tracić zbytnio czasu na naukę, tylko od razu pisać kod działający zgodnie z oczekiwaniami. To trzecie, zaktualizowane i uzupełnione wydanie bestsellerowego podręcznika programowania w Pythonie. Naukę rozpoczniesz od podstawowych koncepcji programowania. Poznasz takie pojęcia jak zmienne, listy, klasy i pętle, a następnie utrwalisz je dzięki praktycznym ćwiczeniom. Dowiesz się, jak zapewnić interaktywność programom, i nauczysz się poprawnego testowania kodu przed dodaniem go do projektu. W kolejnych rozdziałach przystąpisz do praktycznej realizacji trzech projektów: gry zręcznościowej inspirowanej klasyczną Space Invaders, wizualizacji danych za pomocą dostępnych dla Pythona niezwykle użytecznych bibliotek i prostej aplikacji internetowej, gotowej do wdrożenia na serwerze WWW i opublikowania w internecie. Skorzystaj z dokładnych instrukcji, jak: przygotować się do napisania pierwszego programu w Pythonie używać bibliotek i narzędzi Pythona pracować z różnymi zbiorami danych tworzyć interaktywne aplikacje internetowe i bezpiecznie je wdrażać testować i debugować kod, a także rozwiązywać różne problemy Poznaj Pythona ... z tym światowym bestsellerem zrobisz to najszybciej! Spis treści: Wprowadzenie do trzeciego wydania książki Podziękowania Wprowadzenie CZĘŚĆ I. Podstawy 1. Rozpoczęcie pracy Przygotowanie środowiska programistycznego Wersje Pythona Wykonanie fragmentu kodu w Pythonie Edytor tekstu VS Code Python w różnych systemach operacyjnych Python w systemie Windows Python w systemie macOS Python w systemach z rodziny Linux Uruchomienie programu typu "Witaj, świecie!" Instalacja w VS Code rozszerzenia przeznaczonego do obsługi Pythona Uruchomienie programu typu "Witaj, świecie!" Rozwiązywanie problemów podczas instalacji Uruchamianie programów Pythona z poziomu powłoki W systemie Windows W systemach macOS i Linux Podsumowanie 2. Zmienne i proste typy danych Co tak naprawdę dzieje się po uruchomieniu hello_world.py? Zmienne Nadawanie nazw zmiennym i używanie zmiennych Unikanie błędów związanych z nazwami podczas używania zmiennych Zmienna to etykieta Ciągi tekstowe Zmiana wielkości liter ciągu tekstowego za pomocą metod Używanie zmiennych w ciągach tekstowych Dodawanie białych znaków do ciągów tekstowych za pomocą tabulatora i znaku nowego wiersza Usunięcie białych znaków Usunięcie prefiksu Unikanie błędów składni w ciągach tekstowych Liczby Liczby całkowite Liczby zmiennoprzecinkowe Liczby całkowite i zmiennoprzecinkowe Znaki podkreślenia w liczbach Wiele przypisań Stałe Komentarze Jak można utworzyć komentarz? Jakiego rodzaju komentarze należy tworzyć? Zen Pythona Podsumowanie 3. Wprowadzenie do list Czym jest lista? Uzyskanie dostępu do elementów listy Numeracja indeksu zaczyna się od 0, a nie od 1 Użycie poszczególnych wartości listy Zmienianie, dodawanie i usuwanie elementów Modyfikowanie elementów na liście Dodawanie elementów do listy Usuwanie elementu z listy Organizacja listy Trwałe sortowanie listy za pomocą metody sort() Tymczasowe sortowanie listy za pomocą funkcji sorted() Wyświetlanie listy w odwrotnej kolejności alfabetycznej Określenie wielkości listy Unikanie błędów indeksu podczas pracy z listą Podsumowanie 4. Praca z listą Iteracja przez całą listę Dokładniejsza analiza pętli Wykonanie większej liczby zadań w pętli for Wykonywanie operacji po pętli for Unikanie błędów związanych z wcięciami Brak wcięcia Brak wcięcia dodatkowych wierszy Niepotrzebne wcięcie Niepotrzebne wcięcie po pętli Brak dwukropka Tworzenie list liczbowych Użycie funkcji range() Użycie funkcji range() do utworzenia listy liczb Proste dane statystyczne dotyczące listy liczb Lista składana Praca z fragmentami listy Wycinek listy Iteracja przez wycinek Kopiowanie listy Krotka Definiowanie krotki Iteracja przez wszystkie wartości krotki Nadpisanie krotki Styl tworzonego kodu Konwencje stylu Wcięcia Długość wiersza Puste wiersze Inne specyfikacje stylu Podsumowanie 5. Konstrukcja if Prosty przykład Test warunkowy Sprawdzenie równości Ignorowanie wielkości liter podczas sprawdzania równości Sprawdzenie nierówności Porównania liczbowe Sprawdzanie wielu warunków Sprawdzanie, czy wartość znajduje się na liście Sprawdzanie, czy wartość nie znajduje się na liście Wyrażenie boolowskie Polecenie if Proste polecenia if Polecenia if-else Konstrukcja if-elif-else Użycie wielu bloków elif Pominięcie bloku else Sprawdzanie wielu warunków Używanie poleceń if z listami Sprawdzanie pod kątem wartości specjalnych Sprawdzanie, czy lista nie jest pusta Użycie wielu list Nadawanie stylu poleceniom if Podsumowanie 6. Słowniki Prosty słownik Praca ze słownikami Uzyskiwanie dostępu do wartości słownika Dodanie nowej pary klucz-wartość Rozpoczęcie pracy od pustego słownika Modyfikowanie wartości słownika Usuwanie pary klucz-wartość Słownik podobnych obiektów Używanie metody get() w celu uzyskania dostępu do wartości Iteracja przez słownik Iteracja przez wszystkie pary klucz-wartość Iteracja przez wszystkie klucze słownika Iteracja przez uporządkowane klucze słownika Iteracja przez wszystkie wartości słownika Zagnieżdżanie Lista słowników Lista w słowniku Słownik w słowniku Podsumowanie 7. Dane wejściowe użytkownika i pętla while Jak działa funkcja input()? Przygotowanie jasnych i zrozumiałych komunikatów Użycie funkcji int() do akceptowania liczbowych danych wejściowych Operator modulo Wprowadzenie do pętli while Pętla while w działaniu Umożliwienie użytkownikowi podjęcia decyzji o zakończeniu działania programu Użycie flagi Użycie polecenia break do opuszczenia pętli Użycie polecenia continue w pętli Unikanie pętli działającej w nieskończoność Użycie pętli while wraz z listami i słownikami Przenoszenie elementów z jednej listy na drugą Usuwanie z listy wszystkich egzemplarzy określonej wartości Umieszczenie w słowniku danych wejściowych wprowadzonych przez użytkownika Podsumowanie 8. Funkcje Definiowanie funkcji Przekazywanie informacji do funkcji Argumenty i parametry Przekazywanie argumentów Argumenty pozycyjne Argumenty w postaci słów kluczowych Wartości domyślne Odpowiedniki wywołań funkcji Unikanie błędów związanych z argumentami Wartość zwrotna Zwrot prostej wartości Definiowanie argumentu jako opcjonalnego Zwrot słownika Używanie funkcji wraz z pętlą while Przekazywanie listy Modyfikowanie listy w funkcji Uniemożliwianie modyfikowania listy przez funkcję Przekazywanie dowolnej liczby argumentów Argumenty pozycyjne i przekazywanie dowolnej liczby argumentów Używanie dowolnej liczby argumentów w postaci słów kluczowych Przechowywanie funkcji w modułach Import całego modułu Import określonych funkcji Użycie słowa kluczowego as w celu zdefiniowania aliasu funkcji Użycie słowa kluczowego as w celu zdefiniowania aliasu modułu Import wszystkich funkcji modułu Nadawanie stylu funkcjom Podsumowanie 9. Klasy Utworzenie i użycie klasy Utworzenie klasy Dog Metoda __init__() Utworzenie egzemplarza na podstawie klasy Praca z klasami i egzemplarzami Klasa Car Przypisanie atrybutowi wartości domyślnej Modyfikacja wartości atrybutu Dziedziczenie Metoda __init__() w klasie potomnej Definiowanie atrybutów i metod dla klasy potomnej Nadpisywanie metod klasy nadrzędnej Egzemplarz jako atrybut Modelowanie rzeczywistych obiektów Import klas Import pojedynczej klasy Przechowywanie wielu klas w module Import wielu klas z modułu Import całego modułu Import wszystkich klas z modułu Import modułu w module Używanie aliasów Określenie swojego sposobu pracy Biblioteka standardowa Pythona Nadawanie stylu klasom Podsumowanie 10. Pliki i wyjątki Odczytywanie danych z pliku Wczytywanie całego pliku Względna i bezwzględna ścieżka dostępu do pliku Odczytywanie wiersz po wierszu Praca z zawartością pliku Ogromne pliki, czyli na przykład milion cyfr Czy data Twoich urodzin znajduje się w liczbie pi? Zapisywanie danych w pliku Zapisywanie pojedynczego wiersza Zapisywanie wielu wierszy Wyjątki Obsługiwanie wyjątku ZeroDivisionError Używanie bloku try-except Używanie wyjątków w celu uniknięcia awarii programu Blok else Obsługa wyjątku FileNotFoundError Analiza tekstu Praca z wieloma plikami Ciche niepowodzenie Które błędy należy zgłaszać? Przechowywanie danych Używanie json.dumps() i json.loads() Zapisywanie i odczytywanie danych wygenerowanych przez użytkownika Refaktoryzacja Podsumowanie 11. Testowanie kodu Instalowanie pytest za pomocą pip Uaktualnianie pip Instalowanie pytest Testowanie funkcji Test jednostkowy i zestaw testów Zaliczenie testu Wykonywanie testu Niezaliczenie testu Reakcja na niezaliczony test Dodanie nowego testu Testowanie klasy Różne rodzaje metod asercji Klasa do przetestowania Testowanie klasy AnonymousSurvey Używanie danych testowych Podsumowanie CZĘŚĆ II. Projekty 12. Statek, który strzela pociskami Planowanie projektu Instalacja Pygame Rozpoczęcie pracy nad projektem gry Utworzenie okna Pygame i reagowanie na działania użytkownika Określenie liczby klatek na sekundę Zdefiniowanie koloru tła Utworzenie klasy ustawień Dodanie obrazu statku kosmicznego Utworzenie klasy statku kosmicznego Wyświetlenie statku kosmicznego na ekranie Refaktoryzacja, czyli metody _check_events() i _update_screen() Metoda _check_events() Metoda _update_screen() Kierowanie statkiem kosmicznym Reakcja na naciśnięcie klawisza Umożliwienie nieustannego ruchu Poruszanie statkiem w obu kierunkach Dostosowanie szybkości statku Ograniczenie zasięgu poruszania się statku Refaktoryzacja metody _check_events() Naciśnięcie klawisza Q w celu zakończenia gry Uruchamianie gry w trybie pełnoekranowym Krótkie powtórzenie alien_invasion.py settings.py ship.py Wystrzeliwanie pocisków Dodawanie ustawień dotyczących pocisków Utworzenie klasy Bullet Przechowywanie pocisków w grupie Wystrzeliwanie pocisków Usuwanie niewidocznych pocisków Ograniczenie liczby pocisków Utworzenie metody _update_bullets() Podsumowanie 13. Obcy! Przegląd projektu Utworzenie pierwszego obcego Utworzenie klasy Alien Utworzenie egzemplarza obcego Utworzenie floty obcych Utworzenie rzędów obcych Refaktoryzacja metody _create_fleet() Dodawanie rzędów Poruszanie flotą obcych Przesunięcie obcych w prawo Zdefiniowanie ustawień dla kierunku poruszania się floty Sprawdzenie, czy obcy dotarł do krawędzi ekranu Przesunięcie floty w dół i zmiana kierunku Zestrzeliwanie obcych Wykrywanie kolizji z pociskiem Utworzenie większych pocisków w celach testowych Ponowne utworzenie floty Zwiększenie szybkości pocisku Refaktoryzacja metody _update_bullets() Zakończenie gry Wykrywanie kolizji między obcym i statkiem Reakcja na kolizję między obcym i statkiem Obcy, który dociera do dolnej krawędzi ekranu Koniec gry! Ustalenie, które komponenty gry powinny być uruchomione Podsumowanie 14. Punktacja Dodanie przycisku Gra Utworzenie klasy Button Wyświetlenie przycisku na ekranie Uruchomienie gry Zerowanie gry Dezaktywacja przycisku Gra Ukrycie kursora myszy Zmiana poziomu trudności Zmiana ustawień dotyczących szybkości Wyzerowanie szybkości Punktacja Wyświetlanie punktacji Utworzenie tablicy wyników Uaktualnienie punktacji po zestrzeleniu obcego Zerowanie wyniku Zagwarantowanie uwzględnienia wszystkich trafień Zwiększenie liczby zdobywanych punktów Zaokrąglanie punktacji Najlepsze wyniki Wyświetlenie aktualnego poziomu gry Wyświetlenie liczby statków Podsumowanie 15. Generowanie danych Instalacja matplotlib Wygenerowanie prostego wykresu liniowego Zmienianie etykiety i grubości wykresu Poprawianie wykresu Używanie wbudowanych stylów Używanie funkcji scatter() do wyświetlania poszczególnych punktów i nadawania im stylu Wyświetlanie serii punktów za pomocą funkcji scatter() Automatyczne obliczanie danych Dostosowanie znaczników osi do własnych potrzeb Definiowanie własnych kolorów Użycie mapy kolorów Automatyczny zapis wykresu Błądzenie losowe Utworzenie klasy RandomWalk Wybór kierunku Wyświetlenie wykresu błądzenia losowego Wygenerowanie wielu błądzeń losowych Nadawanie stylu danym wygenerowanym przez błądzenie losowe Symulacja rzutu kością do gry za pomocą plotly Instalacja plotly Utworzenie klasy Die Rzut kością do gry Analiza wyników Utworzenie histogramu Dostosowanie wykresu do własnych potrzeb Rzut dwiema kośćmi Dalsze dostosowanie wykresu do własnych potrzeb Rzut kośćmi o różnej liczbie ścianek Zapisywanie wykresu Podsumowanie 16. Pobieranie danych Format CSV Przetwarzanie nagłówków pliku CSV Wyświetlanie nagłówków i ich położenia Wyodrębnienie i odczytanie danych Wyświetlenie danych na wykresie temperatury Moduł datetime Wyświetlanie daty Wyświetlenie dłuższego przedziału czasu Wyświetlenie drugiej serii danych Nakładanie cienia na wykresie Sprawdzenie pod kątem błędów Samodzielne pobieranie danych Mapowanie globalnych zbiorów danych - format GeoJSON Pobranie danych dotyczących trzęsień ziemi Analiza danych GeoJSON Utworzenie listy trzęsień ziemi Wyodrębnienie siły trzęsienia ziemi Wyodrębnienie danych o miejscu wystąpienia trzęsienia ziemi Budowanie mapy świata Przedstawienie siły trzęsienia ziemi Dostosowanie koloru punktu Inne skale kolorów Dodanie tekstu wyświetlanego po wskazaniu punktu na mapie Podsumowanie 17. Praca z API Użycie API Git i GitHub Żądanie danych za pomocą wywołania API Instalacja requests Przetworzenie odpowiedzi API Praca ze słownikiem odpowiedzi Podsumowanie repozytoriów najczęściej oznaczanych gwiazdką Monitorowanie ograniczeń liczby wywołań API Wizualizacja repozytoriów za pomocą pakietu plotly Nadawanie stylu wykresowi Dodanie własnych podpowiedzi Dodawanie łączy do wykresu Dostosowanie kolorów znaczników do własnych potrzeb Więcej o plotly i API GitHub Hacker News API Podsumowanie 18. Rozpoczęcie pracy z Django Przygotowanie projektu Opracowanie specyfikacji Utworzenie środowiska wirtualnego Aktywacja środowiska wirtualnego Instalacja frameworka Django Utworzenie projektu w Django Utworzenie bazy danych Przegląd projektu Uruchomienie aplikacji Definiowanie modeli Aktywacja modeli Witryna administracyjna Django Zdefiniowanie modelu Entry Migracja modelu Entry Rejestracja modelu Entry w witrynie administracyjnej Powłoka Django Tworzenie stron internetowych - strona główna aplikacji Mapowanie adresu URL Utworzenie widoku Utworzenie szablonu Utworzenie dodatkowych stron Dziedziczenie szablonu Strona tematów Strony poszczególnych tematów Podsumowanie 19. Konta użytkowników Umożliwienie użytkownikom wprowadzania danych Dodawanie nowego tematu Dodawanie nowych wpisów Edycja wpisu Konfiguracja kont użytkowników Aplikacja accounts Strona logowania Wylogowanie Strona rejestracji użytkownika Umożliwienie użytkownikom bycia właścicielami swoich danych Ograniczenie dostępu za pomocą dekoratora @login_required Powiązanie danych z określonymi użytkownikami Przyznanie dostępu jedynie odpowiednim użytkownikom Ochrona tematów użytkownika Ochrona strony edit_entry Powiązanie nowego tematu z bieżącym użytkownikiem Podsumowanie 20. Nadanie stylu i wdrożenie aplikacji Nadanie stylu aplikacji Learning Log Aplikacja django-bootstrap5 Użycie Bootstrapa do nadania stylu aplikacji Learning Log Modyfikacja pliku base.html Użycie elementu Jumbotron do nadania stylu stronie głównej Nadanie stylu stronie logowania Nadanie stylu stronie tematów Nadanie stylów wpisom na stronie tematu Wdrożenie aplikacji Learning Log Utworzenie konta w Platform.sh Instalacja Platform.sh CLI Instalacja platformshconfig Utworzenie pliku requirements.txt Dodatkowe wymagania dotyczące wdrożenia Dodawanie plików konfiguracyjnych Modyfikacja pliku settings.py dla Platform.sh Użycie Gita do monitorowania plików projektu Utworzenie projektu w Platform.sh Przekazanie projektu do Platform.sh Wyświetlenie wdrożonego projektu Dopracowanie wdrożenia projektu w Platform.sh Utworzenie własnych stron błędu Nieustanna rozbudowa Usunięcie projektu z Platform.sh Podsumowanie A. Instalacja Pythona i rozwiązywanie problemów Python w Windows Użycie polecenia py zamiast python Ponowna instalacja Pythona Python w systemie macOS Przypadkowa instalacja wersji dostarczanej przez Apple Python 2 w starszych wydaniach systemu macOS Python w systemie Linux Używanie domyślnej instalacji Pythona Instalacja najnowszej wersji Pythona Sprawdzenie aktualnie używanej wersji Pythona Słowa kluczowe Pythona i wbudowane funkcje Słowa kluczowe Pythona Wbudowane funkcje Pythona B. Edytory tekstu i środowiska IDE Efektywna praca z VS Code Konfigurowanie VS Code Wybrane skróty klawiszowe VS Code Inne edytory tekstu i środowiska IDE IDLE Geany Sublime Text Emacs i vim PyCharm Notatniki Jupyter Notebooks C. Uzyskiwanie pomocy Pierwsze kroki Spróbuj jeszcze raz Chwila odpoczynku Korzystaj z zasobów tej książki Wyszukiwanie informacji w internecie Stack Overflow Oficjalna dokumentacja Pythona Oficjalna dokumentacja biblioteki r/learnpython Posty na blogach Discord Slack D. Używanie Gita do kontroli wersji Instalacja Gita Konfiguracja Gita Tworzenie projektu Ignorowanie plików Inicjalizacja repozytorium Sprawdzanie stanu Dodawanie plików do repozytorium Zatwierdzanie plików Sprawdzanie dziennika projektu Drugie zatwierdzenie Przywracanie stanu projektu Przywracanie projektu do poprzedniego stanu Usuwanie repozytorium E. Rozwiązywanie problemów z wdrożeniami Jak wygląda proces wdrażania? Podstawy rozwiązywania problemów Kierowanie się podpowiedziami wyświetlanymi na ekranie Odczytywanie danych wyjściowych dzienników zdarzeń Rozwiązywanie problemów dotyczących konkretnego systemu operacyjnego Wdrażanie z poziomu systemu Windows Wdrażanie z poziomu systemu macOS Wdrażanie z poziomu systemu Linux Inne podejścia w zakresie wdrożenia O autorze: Eric Matthes - jest nauczycielem, hakerem i autorem książek. Uczy informatyki, fizyki i matematyki w szkole średniej. Od kilku lat prowadzi kursy dla początkujących programistów Pythona. Swój pierwszy program komputerowy — prostą, poprawnie funkcjonującą grę — napisał w wieku pięciu lat i od tej pory nieprzerwanie pasjonuje się tworzeniem kodu. Mieszka na Alasce wraz z żoną i synem.

Specyfikacja

Podstawowe informacje

Autor
  • Eric Matthes
Kategorie
  • Programowanie
Wybrane wydawnictwa
  • Helion