elementy-inzynierii-oprogramowania-w-pythonie cała książka.pdf

(3426 KB) Pobierz
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Przedmowa
Wstęp
1.
Python — krótka charakterystyka
7
9
12
15
15
16
20
20
21
21
23
25
25
25
28
30
32
34
35
36
37
37
37
40
41
42
42
44
47
47
48
49
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
pyproject.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
4.1. Pojęcie klasy i obiektu . . . . . . . . . . . . .
4.2. Paradygmat programowania obiektowego . .
4.3. Definiowanie klas i tworzenie obiektów . . . .
Kup książkę
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
obiektowo
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
Poleć książkę
4.4.
4.5.
4.6.
4.7.
Destrukcja i finalizowanie obiektu
Pola i metody niepubliczne . . .
Atrybuty i metody klasowe . . .
Metody statyczne . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
52
54
56
59
61
61
62
64
66
67
70
70
74
74
76
79
82
84
85
86
88
88
90
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
96
8.1. Podział wyjątków . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
8.2. Wzbudzanie wyjątku . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8.3. Obsługa wyjątków . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
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 . . . . . . . . . . . . . . . . . . .
103
103
107
109
111
112
114
115
115
116
118
122
126
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Kup książkę
Poleć książkę
10. Serializacja i deserializacja
10.1. Prosty format tekstowy . . .
10.2. Formaty słownikowe . . . . .
10.3. Piklowanie obiektów . . . . .
10.4. Inne mechanizmy serializacji .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
131
133
135
141
142
144
145
147
148
151
152
152
152
153
155
155
156
156
156
157
158
158
160
166
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin