Категорії
Електронні книги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комп'ютер в офісі
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Мультимедійне навчання
- Нерухомість
- Переконання та НЛП
- Податки
- Соціальна політика
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Звіти, аналізи
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Електронна преса
- Architektura i wnętrza
- Biznes i Ekonomia
- Будинок та сад
- Електронний бізнес
- Фінанси
- Особисті фінанси
- Бізнес
- Фотографія
- Інформатика
- Відділ кадрів та оплата праці
- Комп'ютери, Excel
- Бухгалтерія
- Культура та література
- Наукові та академічні
- Охорона навколишнього середовища
- Впливові
- Освіта
- Податки
- Подорожі
- Психологія
- Релігія
- Сільське господарство
- Ринок книг і преси
- Транспорт та спедиція
- Здоров'я та краса
-
Історія
-
Інформатика
- Офісні застосунки
- Бази даних
- Біоінформатика
- Бізнес ІТ
- CAD/CAM
- Digital Lifestyle
- DTP
- Електроніка
- Цифрова фотографія
- Комп'ютерна графіка
- Ігри
- Хакування
- Hardware
- IT w ekonomii
- Наукові пакети
- Шкільні підручники
- Основи комп'ютера
- Програмування
- Мобільне програмування
- Інтернет-сервери
- Комп'ютерні мережі
- Стартап
- Операційні системи
- Штучний інтелект
- Технологія для дітей
- Вебмайстерність
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Оповідна поезія
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Шкільні підручники
-
Науково-популярна та академічна
- Археологія
- Bibliotekoznawstwo
- Кінознавство / Теорія кіно
- Філологія
- Польська філологія
- Філософія
- Finanse i bankowość
- Географія
- Економіка
- Торгівля. Світова економіка
- Історія та археологія
- Історія мистецтва і архітектури
- Культурологія
- Мовознавство
- літературні студії
- Логістика
- Математика
- Ліки
- Гуманітарні науки
- Педагогіка
- Навчальні засоби
- Науково-популярна
- Інше
- Психологія
- Соціологія
- Театральні студії
- Богослов’я
- Економічні теорії та науки
- Transport i spedycja
- Фізичне виховання
- Zarządzanie i marketing
-
Порадники
-
Ігрові посібники
-
Професійні та спеціальні порадники
-
Юридична
- Безпека життєдіяльності
- Історія
- Дорожній кодекс. Водійські права
- Юридичні науки
- Охорона здоров'я
- Загальне, компендіум
- Академічні підручники
- Інше
- Закон про будівництво і житло
- Цивільне право
- Фінансове право
- Господарське право
- Господарське та комерційне право
- Кримінальний закон
- Кримінальне право. Кримінальні злочини. Кримінологія
- Міжнародне право
- Міжнародне та іноземне право
- Закон про охорону здоров'я
- Закон про освіту
- Податкове право
- Трудове право та законодавство про соціальне забезпечення
- Громадське, конституційне та адміністративне право
- Кодекс про шлюб і сім'ю
- Аграрне право
- Соціальне право, трудове право
- Законодавство Євросоюзу
- Промисловість
- Сільське господарство та захист навколишнього середовища
- Словники та енциклопедії
- Державні закупівлі
- Управління
-
Путівники та подорожі
- Африка
- Альбоми
- Південна Америка
- Центральна та Північна Америка
- Австралія, Нова Зеландія, Океанія
- Австрія
- Азії
- Балкани
- Близький Схід
- Болгарія
- Китай
- Хорватія
- Чеська Республіка
- Данія
- Єгипет
- Естонія
- Європа
- Франція
- Гори
- Греція
- Іспанія
- Нідерланди
- Ісландія
- Литва
- Латвія
- Mapy, Plany miast, Atlasy
- Мініпутівники
- Німеччина
- Норвегія
- Активні подорожі
- Польща
- Португалія
- Інше
- Росія
- Румунія
- Словаччина
- Словенія
- Швейцарія
- Швеція
- Світ
- Туреччина
- Україна
- Угорщина
- Велика Британія
- Італія
-
Психологія
- Філософія життя
- Kompetencje psychospołeczne
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Аудіокниги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Нерухомість
- Переконання та НЛП
- Податки
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Історія
-
Інформатика
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Науково-популярна та академічна
-
Порадники
-
Професійні та спеціальні порадники
-
Юридична
-
Путівники та подорожі
-
Психологія
- Філософія життя
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Відеокурси
-
Бази даних
-
Big Data
-
Biznes, ekonomia i marketing
-
Кібербезпека
-
Data Science
-
DevOps
-
Для дітей
-
Електроніка
-
Графіка / Відео / CAX
-
Ігри
-
Microsoft Office
-
Інструменти розробки
-
Програмування
-
Особистісний розвиток
-
Комп'ютерні мережі
-
Операційні системи
-
Тестування програмного забезпечення
-
Мобільні пристрої
-
UX/UI
-
Веброзробка, Web development
-
Управління
Подкасти
- Електронні книги
- Програмування
- Python
- Python. Programowanie funkcyjne
Деталі електронної книги
Zgodnie z paradygmatem programowania funkcyjnego największy nacisk należy kłaść na stałe i funkcje. Polega to na konstruowaniu funkcji oraz na obliczaniu wartości wyrażeń. W ten sposób otrzymuje się kod odporny na błędy. Python nie jest w pełni funkcyjnym językiem programowania, jednak pozwala na taki sposób pisania programów. Dzięki temu umożliwia tworzenie zwięzłego i eleganckiego kodu. Na przykład stosowanie wyrażeń generatorowych w Pythonie sprawia, że tworzone programy działają szybciej, ponieważ zużywają mniej zasobów. Niezależnie więc od stosowanego paradygmatu warto zapożyczyć pewne elementy programowania funkcyjnego i wykorzystać je do tworzenia ekspresyjnych i zwięzłych aplikacji w Pythonie.
To znakomity podręcznik dla programistów, którzy chcą wykorzystać techniki i wzorce projektowe z funkcyjnych języków programowania, aby tworzyć w Pythonie zwięzłe, eleganckie i ekspresyjne programy - z czytelnym i łatwym w utrzymaniu kodem. Zawiera ogólny przegląd koncepcji funkcyjnych oraz wyjaśnia tak istotne pojęcia jak funkcje pierwszej klasy, funkcje wyższego rzędu, funkcje czyste, leniwe wartościowanie i wiele innych. Wnikliwie omawia sposób korzystania z tych funkcji w Pythonie 3.6, a także techniki przygotowywania i eksploracji danych. Ponadto pokazuje, w jaki sposób standardowa biblioteka Pythona pasuje do funkcyjnego modelu programowania. Co ważne, w książce znalazło się kilka przykładów prezentujących w praktyce opisane koncepcje.
W książce między innymi:
- podstawy modelu programowania funkcyjnego
- działania na kolekcjach danych i przetwarzanie krotek
- projektowanie dekoratorów
- biblioteka PyMonad
- usługi sieciowe a programowanie funkcyjne
Python: kod funkcyjny i funkcjonalny!
O autorze 9
O recenzencie 10
Przedmowa 9
Rozdział 1. Zrozumieć programowanie funkcyjne 17
- Paradygmat programowania 18
- Podział paradygmatu proceduralnego 19
- Korzystanie z paradygmatu funkcyjnego 20
- Korzystanie z funkcyjnych hybryd 22
- Tworzenie obiektu 23
- Stos żółwi 24
- Klasyczny przykład programowania funkcyjnego 25
- Eksploracyjna analiza danych 28
- Podsumowanie 29
Rozdział 2. Podstawowe pojęcia programowania funkcyjnego 31
- Funkcje pierwszej klasy 32
- Czyste funkcje 32
- Funkcje wyższego rzędu 33
- Dane niemutowalne 34
- Wartościowanie ścisłe i nieścisłe 36
- Rekurencja zamiast jawnego stanu pętli 37
- Funkcyjne systemy typów 41
- Znajome terytorium 41
- Pojęcia zaawansowane 42
- Podsumowanie 43
Rozdział 3. Funkcje, iteratory i generatory 45
- Pisanie czystych funkcji 46
- Funkcje jako obiekty pierwszej klasy 48
- Korzystanie z łańcuchów znaków 49
- Używanie krotek i krotek nazwanych 50
- Korzystanie z wyrażeń generatorowych 52
- Odkrywanie ograniczeń generatorów 54
- Łączenie wyrażeń generatorowych 56
- Czyszczenie surowych danych za pomocą funkcji generatorowych 56
- Korzystanie z list, słowników i zbiorów 58
- Korzystanie z mapowań stanowych 61
- Wykorzystanie modułu bisect do tworzenia mapowania 63
- Używanie stanowych zbiorów 64
- Podsumowanie 65
Rozdział 4. Praca z kolekcjami 67
- Przegląd rodzajów funkcji 68
- Praca z obiektami iterowalnymi 68
- Parsowanie pliku XML 69
- Parsowanie pliku na wyższym poziomie 71
- Tworzenie par elementów z sekwencji 73
- Jawne użycie funkcji iter() 76
- Rozszerzanie prostej pętli 77
- Stosowanie wyrażeń generatorowych do funkcji skalarnych 80
- Wykorzystanie funkcji any() i all() jako redukcji 81
- Używanie funkcji len() i sum() 83
- Używanie sum i zliczeń w obliczeniach statystycznych 84
- Korzystanie z funkcji zip() do tworzenia struktury i spłaszczania sekwencji 87
- Rozpakowywanie spakowanej sekwencji 88
- Spłaszczanie sekwencji 89
- Nadawanie struktury płaskim sekwencjom 90
- Tworzenie struktury płaskich sekwencji - podejście alternatywne 92
- Wykorzystanie funkcji reverse() do zmiany kolejności elementów 93
- Wykorzystanie funkcji enumerate() w celu uwzględnienia numeru porządkowego 94
- Podsumowanie 94
Rozdział 5. Funkcje wyższego rzędu 97
- Wykorzystanie funkcji max() i min() do wyszukiwania ekstremów 98
- Korzystanie z formatu wyrażeń lambda w Pythonie 101
- Wyrażenia lambda i rachunek lambda 103
- Korzystanie z funkcji map() w celu zastosowania funkcji do kolekcji 103
- Wykorzystanie wyrażeń lambda i funkcji map() 104
- Użycie funkcji map() w odniesieniu do wielu sekwencji 105
- Wykorzystanie funkcji filter() do przekazywania lub odrzucania danych 107
- Użycie funkcji filter() do identyfikacji wartości odstających 108
- Funkcja iter() z wartością "strażnika" 109
- Wykorzystanie funkcji sorted() do porządkowania danych 110
- Pisanie funkcji wyższego rzędu 111
- Pisanie mapowań i filtrów wyższego rzędu 112
- Rozpakowywanie danych podczas mapowania 113
- Opakowywanie dodatkowych danych podczas mapowania 115
- Spłaszczanie danych podczas mapowania 116
- Strukturyzacja danych podczas filtrowania 118
- Pisanie funkcji generatorowych 119
- Budowanie funkcji wyższego rzędu z wykorzystaniem obiektów wywoływalnych 121
- Zapewnienie dobrego projektu funkcyjnego 123
- Przegląd wybranych wzorców projektowych 124
- Podsumowanie 125
Rozdział 6. Rekurencje i redukcje 127
- Proste rekurencje numeryczne 128
- Implementacja optymalizacji ogonowej 129
- Pozostawienie rekurencji bez zmian 130
- Obsługa trudnego przypadku optymalizacji ogonowej 131
- Przetwarzanie kolekcji za pomocą rekurencji 132
- Optymalizacja ogonowa dla kolekcji 133
- Redukcje i składanie kolekcji z wielu elementów w jeden element 134
- Redukcja grupowania - z wielu elementów do mniejszej liczby 136
- Budowanie mapowania za pomocą metody Counter 136
- Budowanie mapowania przez sortowanie 137
- Grupowanie lub podział danych według wartości klucza 139
- Pisanie bardziej ogólnych redukcji grupujących 142
- Pisanie redukcji wyższego rzędu 143
- Pisanie parserów plików 144
- Podsumowanie 150
Rozdział 7. Dodatkowe techniki przetwarzania krotek 153
- Używanie krotek do zbierania danych 154
- Używanie krotek nazwanych do zbierania danych 156
- Budowanie nazwanych krotek za pomocą konstruktorów funkcyjnych 159
- Unikanie stanowych klas dzięki wykorzystaniu rodzin krotek 160
- Przypisywanie rang statystycznych 163
- Opakowanie zamiast zmiany stanu 165
- Wielokrotne opakowanie zamiast zmian stanu 166
- Obliczanie korelacji rangowej Spearmana 167
- Polimorfizm i dopasowywanie typów ze wzorcami 169
- Podsumowanie 174
Rozdział 8. Moduł itertools 175
- Praca z iteratorami nieskończonymi 176
- Liczenie za pomocą count() 176
- Zliczanie z wykorzystaniem argumentów zmiennoprzecinkowych 177
- Wielokrotne iterowanie cyklu za pomocą funkcji cycle() 179
- Powtarzanie pojedynczej wartości za pomocą funkcji repeat() 181
- Używanie iteratorów skończonych 182
- Przypisywanie liczb za pomocą funkcji enumerate() 182
- Obliczanie sum narastających za pomocą funkcji accumulate() 185
- Łączenie iteratorów za pomocą funkcji chain() 186
- Podział iteratora na partycje za pomocą funkcji groupby() 187
- Scalanie obiektów iterowalnych za pomocą funkcji zip_longest() i zip() 188
- Filtrowanie z wykorzystaniem funkcji compress() 189
- Zbieranie podzbiorów za pomocą funkcji islice() 190
- Filtrowanie stanowe z wykorzystaniem funkcji dropwhile() i takewhile() 191
- Dwa podejścia do filtrowania za pomocą funkcji filterfalse() i filter() 192
- Zastosowanie funkcji do danych z wykorzystaniem funkcji starmap() i map() 193
- Klonowanie iteratorów za pomocą funkcji tee() 194
- Receptury modułu itertools 195
- Podsumowanie 197
Rozdział 9. Dodatkowe techniki itertools 199
- Wyliczanie iloczynu kartezjańskiego 200
- Redukowanie iloczynu 200
- Obliczanie odległości 202
- Uzyskanie wszystkich pikseli i wszystkich kolorów 204
- Analiza wydajności 205
- Przeformowanie problemu 207
- Łączenie dwóch transformacji 207
- Permutacje zbioru wartości 209
- Generowanie wszystkich kombinacji 210
- Receptury 212
- Podsumowanie 213
Rozdział 10. Moduł functools 215
- Narzędzia przetwarzania funkcji 216
- Memoizacja wcześniejszych wyników za pomocą dekoratora lru_cache 216
- Definiowanie klas z dekoratorem total_ordering 218
- Definiowanie klas liczbowych 221
- Stosowanie argumentów częściowych za pomocą funkcji partial() 222
- Redukcja zbiorów danych za pomocą funkcji reduce() 223
- Łączenie funkcji map() i reduce() 224
- Korzystanie z funkcji reduce() i partial() 226
- Użycie funkcji map() i reduce() do oczyszczania surowych danych 226
- Korzystanie z funkcji reduce() i partial() 227
- Podsumowanie 230
Rozdział 11. Techniki projektowania dekoratorów 231
- Dekoratory jako funkcje wyższego rzędu 231
- Korzystanie z funkcji update_wrapper() z modułu functools 235
- Zagadnienia przekrojowe 236
- Funkcje złożone 236
- Wstępne przetwarzanie nieprawidłowych danych 238
- Dekoratory z parametrami 239
- Implementacja bardziej złożonych dekoratorów 242
- Kwestie złożonego projektu 243
- Podsumowanie 246
Rozdział 12. Moduły multiprocessing i threading 247
- Programowanie funkcyjne a współbieżność 248
- Co naprawdę oznacza współbieżność? 248
- Warunki brzegowe 249
- Współdzielenie zasobów za pomocą procesów lub wątków 249
- Jak uzyskać największe korzyści? 250
- Korzystanie z pul wieloprocesowych i zadań 251
- Przetwarzanie wielu dużych plików 252
- Parsowanie plików logu - pobieranie wierszy 253
- Parsowanie wierszy logu do postaci obiektów namedtuple 254
- Parsowanie dodatkowych pól obiektu Access 256
- Filtrowanie szczegółów dostępu 259
- Analiza szczegółów dostępu 261
- Pełny proces analizy 262
- Korzystanie z puli wieloprocesowej w celu przetwarzania równoległego 263
- Korzystanie z funkcji apply() do wykonywania pojedynczych żądań 265
- Korzystanie z funkcji map_async(), starmap_async() i apply_async() 265
- Bardziej złożone architektury przetwarzania wieloprocesowego 266
- Korzystanie z modułu concurrent.futures 267
- Korzystanie z pul wątków modułu concurrent.futures 267
- Korzystanie z modułów threading i queue 268
- Projektowanie współbieżnego przetwarzania 268
- Podsumowanie 270
Rozdział 13. Wyrażenia warunkowe i moduł operator 271
- Ocena wyrażeń warunkowych 272
- Wykorzystywanie nieścisłych reguł słownikowych 273
- Filtrowanie wyrażeń warunkowych zwracających True 274
- Wyszukiwanie pasującego wzorca 275
- Używanie modułu operator zamiast wyrażeń lambda 276
- Pobieranie wartości nazwanych atrybutów podczas korzystania z funkcji wyższego rzędu 278
- Wykorzystanie funkcji starmap z operatorami 279
- Redukcje z wykorzystaniem funkcji modułu operator 281
- Podsumowanie 282
Rozdział 14. Biblioteka PyMonad 283
- Pobieranie i instalacja modułu pymonad 284
- Kompozycja funkcyjna i rozwijanie funkcji 284
- Korzystanie z rozwijanych funkcji wyższego rzędu 286
- Rozwijanie funkcji w trudny sposób 288
- Kompozycja funkcyjna i operator * z biblioteki pymonad 288
- Funktory zwykłe i aplikatywne 290
- Korzystanie z leniwego funktora List() 291
- Funkcja bind() i operator >> 294
- Implementacja symulacji za pomocą monad 295
- Dodatkowe własności biblioteki pymonad 298
- Podsumowanie 299
Rozdział 15. Podejście funkcyjne do usług sieciowych 301
- Model HTTP żądanie-odpowiedź 302
- Wstrzykiwanie stanu za pomocą plików cookie 303
- Serwer o projekcie funkcyjnym 304
- Szczegóły widoku funkcyjnego 304
- Zagnieżdżanie usług 305
- Standard WSGI 306
- Zgłaszanie wyjątków podczas przetwarzania WSGI 309
- Praktyczne aplikacje WSGI 310
- Definiowanie usług sieciowych jako funkcji 311
- Tworzenie aplikacji WSGI 312
- Pobieranie surowych danych 314
- Stosowanie filtra 315
- Serializowanie wyników 316
- Serializacja danych w formatach JSON lub CSV 317
- Serializacja danych do formatu XML 318
- Serializacja danych do formatu HTML 319
- Monitorowanie użycia 320
- Podsumowanie 322
Rozdział 16. Optymalizacje i ulepszenia 323
- Memoizacja i buforowanie 324
- Specjalizacja memoizacji 325
- Ogonowe optymalizacje rekurencji 327
- Optymalizacja pamięci 328
- Optymalizacja dokładności 329
- Redukcja dokładności w zależności od wymagań odbiorców 329
- Studium przypadku - podejmowanie decyzji na podstawie testu zgodności chi-kwadrat 330
- Filtrowanie i redukcja surowych danych z wykorzystaniem obiektu Counter 332
- Odczyt podsumowanych danych 333
- Obliczanie sum za pomocą obiektu Counter 334
- Obliczanie prawdopodobieństw na podstawie obiektów Counter 335
- Obliczanie oczekiwanych wartości i wyświetlanie tabeli krzyżowej 337
- Obliczanie wartości chi-kwadrat 339
- Obliczanie progu wartości chi-kwadrat 339
- Obliczanie niekompletnej funkcji gamma 340
- Obliczanie kompletnej funkcji gamma 343
- Obliczanie szans na losową dystrybucję 344
- Funkcyjne wzorce projektowe 346
- Podsumowanie 348
Skorowidz 349
- Назва: Python. Programowanie funkcyjne
- Автор: Steven F. Lott
- Оригінальна назва: Functional Python Programming: Discover the power of functional programming, generator functions, lazy evaluation, the b
- Переклад: Radosław Meryk
- ISBN: 978-83-283-5072-4, 9788328350724
- Дата видання: 2019-03-26
- Формат: Eлектронна книга
- Ідентифікатор видання: pythpf
- Видавець: Helion