Elementy inżynierii oprogramowania w Pythonie - ebook
Elementy inżynierii oprogramowania w Pythonie - ebook
Zdobądź ostrogi programisty w Pythonie!
Python jest językiem, którego powszechnie używa się w wielu obszarach: od programowania gier, przez aplikacje webowe, po systemy analizy danych. Nic więc dziwnego, że cieszy się ogromną popularnością i jest dodatkowo wspierany przez liczną społeczność programistów, projektantów i sympatyków, którzy go rozwijają i rozszerzają.
Do grona osób aktywnie korzystających z tego języka z pewnością należy Jakub Walczak, który w książce poświęconej Pythonowi i inżynierii oprogramowania wprowadza do jego ekosystemu. Dzięki jej lekturze czytelnicy poznają ideę środowisk wirtualnych, sposoby interakcji z interpreterem czy zasady podziału projektu na moduły i pakiety. Adepci sztuki programowania znajdą tu wprowadzenie do mechanizmów pakietu pytest, który zdecydowanie ułatwia pisanie i wykonywanie testów jednostkowych. Opanują również takie zagadnienia jak klasy i obiekty, a także zaawansowane aspekty programowania obiektowego, w tym metaklasy, dziedziczenie i emulowanie szczególnych zachowań obiektów
Autor zadbał o klarowną strukturę podręcznika, który składa się z dwunastu uporządkowanych rozdziałów. Zawarta w nich treść została uzupełniona dodatkowymi wyjaśnieniami, wskazówkami i podsumowaniami, co ułatwia przyswojenie omawianego materiału.
- 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
Python od A do Z!
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
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-289-0100-1 |
Rozmiar pliku: | 2,9 MB |