- Obniżka
Opis produktu: Elementy inżynierii oprogramowania w Pythonie - Jakub Walczak
Python w ostatnich latach przeszedł ogromny rozwój i stał się wysoce zaawansowanym językiem programowania nadającym się zarówno do tworzenia prostych narzędzi jak i skomplikowanych systemów. Książka autorstwa Jakuba Walczaka to solidne wprowadzenie do ekosystemu języka Python. Omawia w niej pojęcia związane z programowaniem obiektowym oraz kluczowe koncepcje takie jak środowiska wirtualne czy zasady organizacji projektów przy użyciu modułów i pakietów. Książka ta jest doskonałym źródłem wiedzy dla osób chcących zgłębić tajniki Pythona i rozwijać swoje umiejętności programistyczne.
Zagadnienia poruszane w książce
- Organizacja środowiska pracy
- Organizacja projektu
- Wstęp do programowania zorientowanego obiektowo
- Deskryptory
- Dziedziczenie
- Mechanizm obsługi wyjątków
- Metody specjalne klas
- Dekoratory
- Serializacja i deserializacja
- Testy jednostkowe z użyciem biblioteki pytest
- Wytyczne dotyczące stylu
Informacje o książce
- Tytuł: Elementy inżynierii oprogramowania w Pythonie - Jakub Walczak
- Autor: Jakub Walczak
- ISBN: 978-83-283-9019-5
- Rok wydania: 2023
- Format: 158 x 235 mm
- Oprawa: miękka
- Ilość stron: 168
- Wydawnictwo: Helion S.A.
Spis treści
Przedmowa
Wstęp
1. Python - krótka charakterystyka
2. Organizacja środowiska pracy
- 2.1. Instalacja Pythona
- 2.2. Przygotowanie środowiska wirtualnego
- 2.3. Środowiska pracy w ekosystemie Pythona
- 2.3.1. Powłoka Pythona
- 2.3.2. Edytor tekstu
- 2.3.3. Interaktywny Python
- 2.3.4. Zintegrowane środowisko deweloperskie
3. Organizacja projektu
- 3.1. Moduły, pakiety i przestrzenie nazw
- 3.1.1. Moduły
- 3.1.2. Pakiety
- 3.1.3. Przestrzenie nazw
- 3.2. Importowanie modułów
- 3.2.1. Importowanie pośrednie
- 3.2.2. Importowanie bezpośrednie
- 3.2.3. Importowanie z użyciem symbolu wieloznacznego
- 3.2.4. Importowanie z wykorzystaniem aliasu
- 3.3. Budowanie i publikowanie pakietu
- 3.3.1. Plik textpyproject.toml
- 3.3.2. Określanie plików składowych biblioteki
- 3.3.3. Dynamiczne określanie metadanych projektu
- 3.3.4. Załączanie plików zasobów
- 3.3.5. Publikowanie projektu
- 3.4. Jawne typowanie zmiennych i funkcji
4. Wstęp do programowania zorientowanego obiektowo
- 4.1. Pojęcie klasy i obiektu
- 4.2. Paradygmat programowania obiektowego
- 4.3. Definiowanie klas i tworzenie obiektów
- 4.4. Destrukcja i finalizowanie obiektu
- 4.5. Pola i metody niepubliczne
- 4.6. Atrybuty i metody klasowe
- 4.7. Metody statyczne
5. Dekoratory
- 5.1. Funkcje zagnieżdżone i zmienne nielokalne
- 5.2. Domknięcie funkcji
- 5.3. Dekoratory nieparametryczne
- 5.4. Dekoratory parametryczne
- 5.5. Atrybuty specjalne funkcji dekorowanych
6. Deskryptory
- 6.1. Protokół deskryptora
- 6.2. Przekazywanie nazwy atrybutu do deskryptora
- 6.3. Rodzaje deskryptorów
- 6.4. Deskryptor własności
7. Dziedziczenie
- 7.1. Dziedziczenie wielorakie
- 7.2. Kolejność dostępu
- 7.3. Przeszukiwanie grafu dziedziczenia
- 7.4. Metaklasy
- 7.5. Klasy szczególne
- 7.5.1. Klasa abstrakcyjna
- 7.5.2. Klasa wyliczająca
8. Mechanizm obsługi wyjątków
- 8.1. Podział wyjątków
- 8.2. Wzbudzanie wyjątku
- 8.3. Obsługa wyjątków
9. Metody specjalne klas
- 9.1. Reprezentacja tekstowa obiektu
- 9.2. Metody porównywania
- 9.3. Wartość skrótu obiektu
- 9.4. Metody specjalne kolekcji
- 9.4.1. Abstrakcyjne metody dla kolekcji sekwencyjnych
- 9.4.2. Abstrakcyjne metody dla kolekcji o charakterze zbiorów
- 9.4.3. Abstrakcyjne metody dla kolekcji mapujących
- 9.4.4. Emulowanie zachowania iteratora
- 9.5. Metody operatorów arytmetycznych
- 9.6. Sprawdzanie wartości logicznej obiektu
- 9.7. Emulowanie zachowania funkcyjnego obiektu
- 9.8. Metody menedżera kontekstu
10. Serializacja i deserializacja
- 10.1. Prosty format tekstowy
- 10.2. Formaty słownikowe
- 10.3. Piklowanie obiektów
- 10.4. Inne mechanizmy serializacji
11. Testy jednostkowe z użyciem biblioteki pytest
- 11.1. Funkcje testujące. Asercje
- 11.2. Parametryzacja testów
- 11.3. Obiekty trwałe w testach
- 11.4. Anotacja testów
- 11.4.1. Oznaczanie testów do pominięcia
- 11.4.2. Anotacja warunkowego pominięcia testów
- 11.4.3. Oznaczanie testów celowo niezaliczonych
- 11.4.4. Własne markery testów
12. Wytyczne dotyczące stylu
- 12.1. Zalecenia ogólne
- 12.2. Zalecenia dotyczące nazewnictwa
- 12.3. Zalecenia dotyczące struktury kodu
- 12.4. Zalecenia dotyczące importowania
- 12.5. Zalecenia dotyczące logiki
- 12.6. Zalecenia dotyczące testów jednostkowych
- 12.7. Zalecenia dotyczące formatowania kodu
Bibliografia
Skorowidz