Kod Pythona w jednym wierszu. Jak profesjonaliści piszą programy doskonałe - ebook
Kod Pythona w jednym wierszu. Jak profesjonaliści piszą programy doskonałe - ebook
W Pythonie najlepsza jest wyrazistość, zwięzłość i interaktywność kodu. To są właśnie cechy kodu idealnego: każdy bit powinien być dziełem sztuki. Python pozwala na wyrażenie jednej myśli na wiele sposobów. Mistrz programowania zna je wszystkie i w konkretnej sytuacji wybiera ten najbardziej trafny i zwięzły. Rozwiązywanie złożonych problemów programistycznych za pomocą jednego wiersza kodu daje przecież dużą satysfakcję. Osiągnięcie tak wyrafinowanych umiejętności wymaga jednak pokonania wielu drobnych trudności, jakie napotyka osoba ucząca się Pythona.
Ta książka ułatwi Ci naukę czytania i pisania zwięzłych, użytecznych instrukcji zajmujących jeden wiersz kodu. Nauczysz się także systematycznie rozkładać dowolny blok kodu na części pierwsze. Stopniowo Twój kod Pythona będzie się stawał piękny, zwięzły i prosty. Znajdziesz tu liczne wskazówki, zapoznasz się też z takimi zagadnieniami jak uczenie maszynowe, podstawy nauki o danych i użyteczne algorytmy. Niejako przy okazji poznasz i zrozumiesz kluczowe pojęcia z dziedziny informatyki i zaczniesz używać zaawansowanych funkcji Pythona, takich jak listy składane, wycinanie, funkcje lambda, wyrażenia regularne, funkcje map i reduce oraz przypisywanie do wycinków.
W książce między innymi:
- stosowanie struktur danych do rozwiązywania rzeczywistych problemów
- podstawowe funkcjonalności biblioteki NumPy
- statystyki wielowymiarowych tablic danych
- algorytm k-średnich w uczeniu nienadzorowanym
- zaawansowane wyrażenia regularne
- anagramy, palindromy, zbiory potęgowe, permutacje, silnie, liczby pierwsze, ciąg Fibonacciego, zatajanie tekstu, wyszukiwanie i sortowanie algorytmiczne
Zen Pythona: liczy się czytelność!
Spis treści
Podziękowania 13
Wprowadzenie 15
- Przykładowy jednowierszowiec Pythona 16
- Uwaga na temat czytelności 17
- Dla kogo jest ta książka? 18
- Czego się nauczysz? 18
- Zasoby online 19
1. Odświeżenie wiadomości o Pythonie 21
- Podstawowe struktury danych 22
- Typy i struktury danych liczbowych 22
- Dane typu logicznego 22
- Łańcuchy znaków 24
- Słowo kluczowe None 26
- Kontenerowe struktury danych 26
- Listy 26
- Stosy 29
- Zbiory 30
- Słowniki 31
- Przynależność 32
- Listy i zbiory składane 33
- Przepływ sterowania 33
- Słowa kluczowe if, else i elif 34
- Pętle 34
- Funkcje 36
- Funkcje lambda 36
- Podsumowanie 37
2. Sztuczki Pythona 39
- Użycie listy składanej do wyszukiwania osób o najwyższych dochodach 40
- Podstawy 40
- Kod 42
- Jak to działa? 42
- Użycie listy składanej do wyszukiwania słów o dużej wartości informacyjnej 43
- Podstawy 43
- Kod 43
- Jak to działa? 44
- Odczytywanie pliku 44
- Podstawy 44
- Kod 45
- Jak to działa? 45
- Użycie funkcji lambda i map 46
- Podstawy 46
- Kod 47
- Jak to działa? 48
- Użycie wycinania do ekstrakcji środowisk dopasowanych łańcuchów podrzędnych 48
- Podstawy 49
- Kod 50
- Jak to działa? 51
- Połączenie listy składanej i wycinania 52
- Podstawy 52
- Kod 52
- Jak to działa? 53
- Przypisywanie do wycinków w celu skorygowania uszkodzonych list 53
- Podstawy 54
- Kod 54
- Jak to działa? 55
- Analiza danych dotyczących pracy serca za pomocą konkatenacji list 56
- Podstawy 56
- Kod 57
- Jak to działa? 58
- Użycie wyrażeń generatora do wyszukania firm, które płacą poniżej płacy minimalnej 58
- Podstawy 58
- Kod 59
- Jak to działa? 59
- Formatowanie baz danych za pomocą funkcji zip() 60
- Podstawy 60
- Kod 61
- Jak to działa? 62
- Podsumowanie 62
3. Analiza danych 65
- Podstawowe działania na tablicach dwuwymiarowych 66
- Podstawy 66
- Kod 68
- Jak to działa? 69
- Praca z tablicami NumPy: wycinanie, rozgłaszanie i typy tablic 70
- Podstawy 70
- Kod 75
- Jak to działa? 76
- Warunkowe przeszukiwanie tablic, filtrowanie i rozgłaszanie w celu wykrywania elementów odstających 78
- Podstawy 78
- Kod 79
- Jak to działa? 80
- Filtrowanie dwuwymiarowych tablic z użyciem indeksowania logicznego 81
- Podstawy 82
- Kod 82
- Jak to działa? 83
- Rozgłaszanie, przypisywanie do wycinków i przekształcanie w celu oczyszczenia co i-tego elementu tablicy 84
- Podstawy 84
- Kod 87
- Jak to działa? 87
- Kiedy w NumPy używać funkcji sort(), a kiedy argsort()? 88
- Podstawy 89
- Kod 90
- Jak to działa? 91
- Jak wykorzystać funkcje lambda i indeksowanie logiczne do filtrowania tablic? 92
- Podstawy 92
- Kod 93
- Jak to działa? 93
- Jak tworzyć zaawansowane filtry tablic z wykorzystaniem statystyki, matematyki i logiki? 94
- Podstawy 95
- Kod 98
- Jak to działa? 98
- Prosta analiza asocjacji: klienci, którzy kupili X, kupili również Y 99
- Podstawy 99
- Kod 100
- Jak to działa? 101
- Bardziej zaawansowana analiza asocjacji w celu wyszukania najlepiej sprzedających się pakietów 102
- Podstawy 102
- Kod 102
- Jak to działa? 103
- Podsumowanie 104
4. Uczenie maszynowe 107
- Podstawy nadzorowanego uczenia maszynowego 107
- Faza szkolenia 108
- Faza wnioskowania 109
- Regresja liniowa 109
- Podstawy 109
- Kod 112
- Jak to działa? 113
- Regresja logistyczna 115
- Podstawy 115
- Kod 118
- Jak to działa? 119
- Algorytm k-średnich 121
- Podstawy 121
- Kod 123
- Jak to działa? 124
- Algorytm k najbliższych sąsiadów 126
- Podstawy 126
- Kod 128
- Jak to działa? 128
- Analiza sieci neuronowej 130
- Podstawy 130
- Kod 134
- Jak to działa? 135
- Algorytm drzew decyzyjnych 137
- Podstawy 138
- Kod 139
- Jak to działa? 139
- Wyszukiwanie wiersza z minimalną wariancją 140
- Podstawy 140
- Kod 141
- Jak to działa? 142
- Podstawowe parametry statystyczne 143
- Podstawy 143
- Kod 144
- Jak to działa? 145
- Klasyfikacja z maszynami wektorów nośnych 146
- Podstawy 146
- Kod 148
- Jak to działa? 149
- Klasyfikacja z lasami losowymi 150
- Podstawy 150
- Kod 150
- Jak to działa? 151
- Podsumowanie 153
5. Wyrażenia regularne 155
- Wyszukiwanie prostych wzorców tekstowych w łańcuchach znaków 155
- Podstawy 156
- Kod 158
- Jak to działa? 159
- Napisz własny scraper stron WWW z użyciem wyrażeń regularnych 159
- Podstawy 159
- Kod 161
- Jak to działa? 161
- Analizowanie hiperłączy dokumentów HTML 162
- Podstawy 162
- Kod 164
- Jak to działa? 165
- Wydobywanie z łańcucha wartości wyrażonych w dolarach 166
- Podstawy 166
- Kod 167
- Jak to działa? 168
- Wyszukiwanie adresów URL z protokołem HTTP 168
- Podstawy 168
- Kod 169
- Jak to działa? 169
- Walidacja formatu zapisu czasu wprowadzanego przez użytkownika, część I 170
- Podstawy 170
- Kod 171
- Jak to działa? 171
- Walidacja formatu zapisu czasu wprowadzanego przez użytkownika, część II 172
- Podstawy 172
- Kod 172
- Jak to działa? 173
- Wykrywanie zduplikowanych znaków w łańcuchach 174
- Podstawy 174
- Kod 175
- Jak to działa? 175
- Wykrywanie powtórzeń słów 176
- Podstawy 176
- Kod 176
- Jak to działa? 177
- Modyfikowanie wzorców wyrażeń regularnych w wielowierszowym łańcuchu znaków 178
- Podstawy 178
- Kod 178
- Jak to działa? 179
- Podsumowanie 179
6. Algorytmy 181
- Wyszukiwanie anagramów za pomocą funkcji lambda i sortowania 182
- Podstawy 182
- Kod 183
- Jak to działa? 183
- Wyszukiwanie palindromów za pomocą funkcji lambda i wycinania ujemnego 184
- Podstawy 185
- Kod 185
- Jak to działa? 186
- Obliczanie permutacji z użyciem rekurencyjnych funkcji silni 186
- Podstawy 186
- Kod 188
- Jak to działa? 189
- Obliczanie odległości Levenshteina 190
- Podstawy 190
- Kod 191
- Jak to działa? 191
- Obliczanie zbioru potęgowego przy użyciu programowania funkcyjnego 193
- Podstawy 193
- Kod 195
- Jak to działa? 196
- Szyfrowanie szyfrem Cezara przy użyciu zaawansowanego indeksowania i listy składanej 196
- Podstawy 197
- Kod 197
- Jak to działa? 198
- Wyznaczanie liczb pierwszych za pomocą sita Eratostenesa 199
- Podstawy 199
- Kod 200
- Jak to działa? 201
- Obliczanie ciągów Fibonacciego za pomocą funkcji reduce() 205
- Podstawy 206
- Kod 206
- Jak to działa? 206
- Rekurencyjny algorytm wyszukiwania binarnego 207
- Podstawy 208
- Kod 210
- Jak to działa? 210
- Rekurencyjny algorytm sortowania szybkiego (Quicksort) 211
- Podstawy 211
- Kod 212
- Jak to działa? 213
- Podsumowanie 213
Posłowie 215
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-7492-8 |
Rozmiar pliku: | 6,2 MB |