Categories
Ebooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Computer in the office
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Multimedia trainings
- Real estate
- Persuasion and NLP
- Taxes
- Social policy
- Guides
- Presentations
- Leadership
- Public Relation
- Reports, analyses
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
E-press
- Architektura i wnętrza
- Biznes i Ekonomia
- Home and garden
- E-business
- Finances
- Personal finance
- Business
- Photography
- Computer science
- HR & Payroll
- Computers, Excel
- Accounts
- Culture and literature
- Scientific and academic
- Environmental protection
- Opinion-forming
- Education
- Taxes
- Travelling
- Psychology
- Religion
- Agriculture
- Book and press market
- Transport and Spedition
- Healthand beauty
-
History
-
Computer science
- Office applications
- Data bases
- Bioinformatics
- IT business
- CAD/CAM
- Digital Lifestyle
- DTP
- Electronics
- Digital photography
- Computer graphics
- Games
- Hacking
- Hardware
- IT w ekonomii
- Scientific software package
- School textbooks
- Computer basics
- Programming
- Mobile programming
- Internet servers
- Computer networks
- Start-up
- Operational systems
- Artificial intelligence
- Technology for children
- Webmastering
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Narrative poetry
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
School textbooks
-
Popular science and academic
- Archeology
- Bibliotekoznawstwo
- Cinema studies
- Philology
- Polish philology
- Philosophy
- Finanse i bankowość
- Geography
- Economy
- Trade. World economy
- History and archeology
- History of art and architecture
- Cultural studies
- Linguistics
- Literary studies
- Logistics
- Maths
- Medicine
- Humanities
- Pedagogy
- Educational aids
- Popular science
- Other
- Psychology
- Sociology
- Theatre studies
- Theology
- Economic theories and teachings
- Transport i spedycja
- Physical education
- Zarządzanie i marketing
-
Guides
-
Game guides
-
Professional and specialist guides
-
Law
- Health and Safety
- History
- Road Code. Driving license
- Law studies
- Healthcare
- General. Compendium of knowledge
- Academic textbooks
- Other
- Construction and local law
- Civil law
- Financial law
- Economic law
- Economic and trade law
- Criminal law
- Criminal law. Criminal offenses. Criminology
- International law
- International law
- Health care law
- Educational law
- Tax law
- Labor and social security law
- Public, constitutional and administrative law
- Family and Guardianship Code
- agricultural law
- Social law, labour law
- European Union law
- Industry
- Agricultural and environmental
- Dictionaries and encyclopedia
- Public procurement
- Management
-
Tourist guides and travel
- Africa
- Albums
- Southern America
- North and Central America
- Australia, New Zealand, Oceania
- Austria
- Asia
- Balkans
- Middle East
- Bulgary
- China
- Croatia
- The Czech Republic
- Denmark
- Egipt
- Estonia
- Europe
- France
- Mountains
- Greece
- Spain
- Holand
- Iceland
- Lithuania
- Latvia
- Mapy, Plany miast, Atlasy
- Mini travel guides
- Germany
- Norway
- Active travelling
- Poland
- Portugal
- Other
- Russia
- Romania
- Slovakia
- Slovenia
- Switzerland
- Sweden
- World
- Turkey
- Ukraine
- Hungary
- Great Britain
- Italy
-
Psychology
- Philosophy of life
- Kompetencje psychospołeczne
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Audiobooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Real estate
- Persuasion and NLP
- Taxes
- Guides
- Presentations
- Leadership
- Public Relation
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
History
-
Computer science
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
Popular science and academic
-
Guides
-
Professional and specialist guides
-
Law
-
Tourist guides and travel
-
Psychology
- Philosophy of life
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Videocourses
-
Data bases
-
Big Data
-
Biznes, ekonomia i marketing
-
Cybersecurity
-
Data Science
-
DevOps
-
For children
-
Electronics
-
Graphics/Video/CAX
-
Games
-
Microsoft Office
-
Development tools
-
Programming
-
Personal growth
-
Computer networks
-
Operational systems
-
Software testing
-
Mobile devices
-
UX/UI
-
Web development
-
Management
Podcasts
- Ebooks
- Programming
- Python
- Python. Programowanie funkcyjne
E-book details
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
- Title: Python. Programowanie funkcyjne
- Author: Steven F. Lott
- Original title: Functional Python Programming: Discover the power of functional programming, generator functions, lazy evaluation, the b
- Translation: Radosław Meryk
- ISBN: 978-83-283-5072-4, 9788328350724
- Date of issue: 2019-03-26
- Format: Ebook
- Item ID: pythpf
- Publisher: Helion