Python. Instrukcje dla programisty. Wydanie III - Helion
MIEJSCE 18 na liście TOP 20
Autor: Eric MatthesTytuł oryginału: Python Crash Course: A Hands-On, Project-Based Introduction to Programming, 3rd Edition
TÅ‚umaczenie: Robert G
ISBN: 978-83-289-0430-9
stron: 514, Format: 165x228, okładka: mi
Księgarnia: Helion
Książka będzie dostępna od września 2023
Tagi: Python - Programowanie
Pythona mo
Zobacz także:
- GraphQL. Kurs video. Buduj nowoczesne API w Pythonie 169,00 zł, (50,70 zł -70%)
- Receptura na Python. Kurs Video. 54 praktyczne porady dla programist 199,00 zł, (59,70 zł -70%)
- Podstawy Pythona z Minecraftem. Kurs video. Piszemy pierwsze skrypty 149,00 zł, (44,70 zł -70%)
- Twórz gry w Pythonie. Kurs video. Poznaj bibliotekę PyGame 249,00 zł, (74,70 zł -70%)
- Data Science w Pythonie. Kurs video. Algorytmy uczenia maszynowego 199,00 zł, (59,70 zł -70%)
Spis treści
Python. Instrukcje dla programisty. Wydanie III -- 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
- Przygotowanie środowiska programistycznego
- 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
- Czym jest lista?
- 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
- Iteracja przez całą listę
- 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
- Jak działa funkcja input()?
- 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
- Definiowanie funkcji
- 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
- Utworzenie i użycie klasy
- 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
- Odczytywanie danych z pliku
- 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
- Instalowanie pytest za pomocÄ… pip
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
- Dodanie przycisku Gra
- 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
- Format CSV
- 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
- Użycie API
- 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
- Przygotowanie projektu
- 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
- Umożliwienie użytkownikom wprowadzania danych
- 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
- Nadanie stylu aplikacji Learning Log
- 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
- Python w Windows
- 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
- Efektywna praca z VS Code
- 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
- Pierwsze kroki
- 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
- Instalacja Gita
- 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