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
- Programowanie funkcyjne w Pythonie. Jak pisać zwięzły, wydajny i ekspresywny kod. Wydanie III
E-book details
Programowanie funkcyjne w Pythonie. Jak pisać zwięzły, wydajny i ekspresywny kod. Wydanie III
Mimo że Python nie jest typowym językiem programowania funkcyjnego, umożliwia pisanie kodu w sposób właściwy dla tego podejścia. W efekcie można tworzyć zwięzłe i eleganckie programy, które działają szybciej i zużywają mniej zasobów. Jeśli uważasz, że te argumenty uzasadniają zapoznanie się z funkcyjnym podejściem do programowania w Pythonie, to ta książka jest dla Ciebie.
Dzięki temu praktycznemu podręcznikowi zrozumiesz, kiedy i dlaczego warto zastosować myślenie funkcyjne, a także jak korzystać z technik funkcyjnych w różnych scenariuszach. Dowiesz się również, jakie narzędzia i biblioteki przeznaczone do tego celu są dostępne w Pythonie i jak używać wyrażeń generatorowych, list składanych i dekoratorów. W tym wydaniu znalazły się nowe rozdziały dotyczące złożonych obiektów bezstanowych, funkcji kombinatorycznych i pakietu toolz, zawierającego zbiór modułów wspomagających pisanie programów funkcyjnych. Umieszczono tu ponadto sporo ciekawych przykładów, dotyczących choćby eksploracyjnej analizy danych i ich czyszczenia.
W książce między innymi:
- najciekawsze biblioteki i wbudowane funkcje wyższego rzędu w Pythonie
- tworzenie funkcji generatorowych i leniwe wartościowanie
- implementacja dekoratorów do kompozycji funkcyjnej
- podpowiedzi typów w Pythonie
- obsługa współbieżności i implementacja usług sieciowych
- biblioteka PyMonad i tworzenie symulacji z obsługą stanów
Chcesz tworzyć wydajny kod? Naucz się programowania funkcyjnego!
Słowo wstępne
O autorze
O recenzentach
Przedmowa
Rozdział 1. Zrozumieć programowanie funkcyjne
- Funkcyjny styl programowania
- Podobieństwa i różnice pomiędzy stylami proceduralnym i funkcyjnym
- Korzystanie z paradygmatu funkcyjnego
- Korzystanie z funkcyjnych hybryd
- Stos żółwi
- Klasyczny przykład programowania funkcyjnego
- Eksploracyjna analiza danych
- Podsumowanie
- Ćwiczenia
- Konwersja imperatywnego algorytmu na kod funkcyjny
- Konwersja obliczeń krokowych na kod funkcyjny
- Popraw funkcję sqrt()
- Etapy czyszczenia danych
- Optymalizacja kodu funkcyjnego (zaawansowane)
Rozdział 2. Podstawowe pojęcia programowania funkcyjnego
- Funkcje jako obiekty pierwszej klasy
- Czyste funkcje
- Funkcje wyższego rzędu
- Dane niemutowalne
- Wartościowanie ścisłe i nieścisłe
- Wartościowanie leniwe i zachłanne
- Rekurencja zamiast jawnego stanu pętli
- Funkcyjne systemy typów
- Znajome terytorium
- Pojęcia zaawansowane
- Podsumowanie
- Ćwiczenia
- Zastosowanie funkcji map() do sekwencji wartości
- Funkcje czy wyrażenia lambda?
- Zoptymalizuj rekurencję
Rozdział 3. Funkcje, iteratory i generatory
- Pisanie czystych funkcji
- Funkcje jako obiekty pierwszej klasy
- Korzystanie z łańcuchów znaków
- Używanie krotek i krotek nazwanych
- Korzystanie z wyrażeń generatorowych
- Odkrywanie ograniczeń generatorów
- Łączenie wyrażeń generatorowych
- Czyszczenie surowych danych za pomocą funkcji generatorowych
- Stosowanie generatorów do wbudowanych kolekcji
- Generatory dla list, słowników i zbiorów
- Korzystanie z mapowań stanowych
- Wykorzystanie modułu bisect do tworzenia mapowania
- Używanie stanowych zbiorów
- Podsumowanie
- Ćwiczenia
- Przepisz funkcję some_function()
- Alternatywna definicja klasy Mersenne
- Alternatywy implementacji algorytmów
- Mapowanie i filtrowanie
- Słowniki składane
- Oczyszczanie surowych danych
Rozdział 4. Praca z kolekcjami
- Przegląd rodzajów funkcji
- Praca z obiektami iterowalnymi
- Parsowanie pliku XML
- Parsowanie pliku na wyższym poziomie
- Tworzenie par elementów z sekwencji
- Jawne użycie funkcji iter()
- Rozszerzanie iteracji
- Stosowanie wyrażeń generatorowych do funkcji skalarnych
- Wykorzystanie funkcji any() i all() jako redukcji
- Używanie funkcji len() i sum() dla kolekcji
- Używanie sum i zliczeń w obliczeniach statystycznych
- Korzystanie z funkcji zip() do tworzenia struktury i spłaszczania sekwencji
- Rozpakowywanie spakowanej sekwencji
- Spłaszczanie sekwencji
- Nadawanie struktury płaskim sekwencjom
- Tworzenie struktury płaskich sekwencji - podejście alternatywne
- Wykorzystanie funkcji sorted() i reversed() do zmiany kolejności elementów
- Wykorzystanie funkcji enumerate() w celu uwzględnienia numeru porządkowego
- Podsumowanie
- Ćwiczenia
- Liczby palindromiczne
- Zestaw kart w ręku
- Zamień funkcję legs() na pairwise()
- Rozszerz rozwiązanie z funkcją legs(), aby uwzględnić przetwarzanie par
Rozdział 5. Funkcje wyższego rzędu
- Wykorzystanie funkcji max() i min() do wyszukiwania ekstremów
- Korzystanie z formatu wyrażeń lambda w Pythonie
- Wyrażenia lambda i rachunek lambda
- Korzystanie z funkcji map() w celu zastosowania funkcji do kolekcji
- Wykorzystanie wyrażeń lambda i funkcji map()
- Użycie funkcji map() w odniesieniu do wielu sekwencji
- Wykorzystanie funkcji filter() do przekazywania lub odrzucania danych
- Użycie funkcji filter() do identyfikacji wartości odstających
- Funkcja iter() z wartością "strażnika"
- Wykorzystanie funkcji sorted() do porządkowania danych
- Pisanie funkcji wyższego rzędu - przegląd
- Pisanie mapowań i filtrów wyższego rzędu
- Rozpakowywanie danych podczas mapowania
- Opakowywanie dodatkowych danych podczas mapowania
- Spłaszczanie danych podczas mapowania
- Strukturyzacja danych podczas filtrowania
- Budowanie funkcji wyższego rzędu z wykorzystaniem obiektów wywoływalnych
- Zapewnienie dobrego projektu funkcyjnego
- Przegląd wybranych wzorców projektowych
- Podsumowanie
- Ćwiczenia
- Klasyfikacja stanu
- Klasyfikacja stanu, część II
- Optymalizacja parsera plików
Rozdział 6. Rekurencje i redukcje
- Proste rekurencje numeryczne
- Implementacja ręcznej optymalizacji ogonowej
- Pozostawienie rekurencji bez zmian
- Obsługa trudnego przypadku optymalizacji ogonowej
- Przetwarzanie kolekcji za pomocą rekurencji
- Optymalizacja ogonowa dla kolekcji
- Używanie operatora przypisania (czasami zwanego morsem) w rekurencjach
- Redukcje i składanie kolekcji z wielu elementów w jeden element
- Optymalizacja wywołań ogonowych za pomocą kolejek dwukierunkowych
- Redukcja grupowania - z wielu elementów do mniejszej liczby
- Budowanie mapowania za pomocą metody Counter
- Budowanie mapowania przez sortowanie
- Grupowanie lub podział danych według wartości klucza
- Pisanie bardziej ogólnych redukcji grupujących
- Pisanie redukcji wyższego rzędu
- Pisanie parserów plików
- Podsumowanie
- Ćwiczenia
- Wielokrotna rekurencja i buforowanie
- Refaktoryzacja funkcji all_print()
- Parsowanie plików CSV
- Klasyfikacja stanu, część III
- Dane silnika Diesla
Rozdział 7. Złożone obiekty bezstanowe
- Używanie krotek do zbierania danych
- Używanie obiektów NamedTuple do zbierania danych
- Używanie do zbierania danych dekoratora dataclass z parametrem frozen
- Inicjalizacja złożonych obiektów i obliczenia właściwości
- Używanie modułu pyrsistent do zbierania danych
- Unikanie stanowych klas dzięki wykorzystaniu rodzin krotek
- Obliczanie korelacji rangowej Spearmana
- Polimorfizm i dopasowywanie typów z wzorcami
- Podsumowanie
- Ćwiczenia
- Zamrożone słowniki
- Sekwencje podobne do słowników
- Modyfikacja funkcji rank_xy() w celu wykorzystywania natywnych typów
- Popraw funkcję rank_corr()
- Modyfikacja funkcji legs() w celu wykorzystania modułu pyrsistent
Rozdział 8. Moduł itertools
- Praca z iteratorami nieskończonymi
- Liczenie za pomocą count()
- Zliczanie z wykorzystaniem argumentów zmiennoprzecinkowych
- Wielokrotne iterowanie cyklu za pomocą funkcji cycle()
- Powtarzanie pojedynczej wartości za pomocą funkcji repeat()
- Używanie iteratorów skończonych
- Przypisywanie liczb za pomocą funkcji enumerate()
- Obliczanie sum narastających za pomocą funkcji accumulate()
- Łączenie iteratorów za pomocą funkcji chain()
- Podział iteratora na partycje za pomocą funkcji groupby()
- Scalanie obiektów iterowalnych za pomocą funkcji zip_longest() i zip()
- Tworzenie par za pomocą funkcji pairwise()
- Filtrowanie z wykorzystaniem funkcji compress()
- Zbieranie podzbiorów za pomocą funkcji islice()
- Filtrowanie stanowe z wykorzystaniem funkcji dropwhile() i takewhile()
- Dwa podejścia do filtrowania za pomocą funkcji filterfalse() i filter()
- Zastosowanie funkcji do danych z wykorzystaniem funkcji starmap() i map()
- Klonowanie iteratorów za pomocą funkcji tee()
- Receptury modułu itertools
- Podsumowanie
- Ćwiczenia
- Zoptymalizuj funkcję find_first()
- Porównaj rozwiązanie z rozdziału 4. z recepturą itertools.pairwise()
- Porównaj rozwiązanie z rozdziału 4. z recepturą itertools.tee()
- Podział zestawu danych do celów szkolenia i testowania
- Szeregowanie rang
Rozdział 9. Moduł itertools dla kombinatoryków - permutacje i kombinacje
- Wyliczanie iloczynu kartezjańskiego
- Redukowanie iloczynu
- Obliczanie odległości
- Uzyskanie wszystkich pikseli i wszystkich kolorów
- Poprawa wydajności
- Przeformowanie problemu
- Łączenie dwóch transformacji
- Permutacje zbioru wartości
- Generowanie wszystkich kombinacji
- Kombinacje z powtórzeniami
- Receptury
- Podsumowanie
- Ćwiczenia
- Alternatywne obliczenia odległości
- Rzeczywista dziedzina wartości kolorów pikseli
- Punktacja ręki w grze Cribbage
Rozdział 10. Moduł functools
- Narzędzia przetwarzania funkcji
- Memoizacja wcześniejszych wyników za pomocą dekoratora cache
- Definiowanie klas z dekoratorem total_ordering
- Stosowanie argumentów częściowych za pomocą funkcji partial()
- Redukcja zbiorów danych za pomocą funkcji reduce()
- Łączenie funkcji map() i reduce()
- Korzystanie z funkcji reduce() i partial()
- Użycie funkcji map() i reduce() do oczyszczania surowych danych
- Korzystanie z funkcji groupby() i reduce()
- Unikanie problemów z funkcją reduce()
- Obsługa wielu typów za pomocą funkcji singledispatch
- Podsumowanie
- Ćwiczenia
- Porównanie funkcji string.join() i reduce()
- Rozszerzenie funkcji comma_fix()
- Modyfikacja funkcji clean_sum()
Rozdział 11. Pakiet toolz
- Funkcja starmap z pakietu itertools
- Redukcje z wykorzystaniem funkcji modułu operator
- Korzystanie z pakietu toolz
- Wybrane funkcje modułu itertoolz
- Wybrane funkcje modułu dicttoolz
- Wybrane funkcje modułu functoolz
- Podsumowanie
- Ćwiczenia
- Zamiana dzielenia na ułamek
- Parsowanie pliku kolorów
- Analiza kwartetu Anscombe'a
- Obliczenia punktów trasy
- Geostrefa punktów trasy
- Obiekt wywoływalny dla funkcji row_counter()
Rozdział 12. Techniki projektowania dekoratorów
- Dekoratory jako funkcje wyższego rzędu
- Korzystanie z funkcji update_wrapper() z modułu functools
- Zagadnienia przekrojowe
- Funkcje złożone
- Wstępne przetwarzanie nieprawidłowych danych
- Dekoratory z parametrami
- Implementacja bardziej złożonych dekoratorów
- Kwestie złożonego projektu
- Podsumowanie
- Ćwiczenia
- Konwersje dat i godzin
- Optymalizacja dekoratora
- Funkcje obsługujące wartości None
- Logowanie
- Sprawdzanie "na sucho"
Rozdział 13. Biblioteka PyMonad
- Pobieranie i instalacja modułu PyMonad
- Kompozycja funkcyjna i rozwijanie funkcji
- Korzystanie z rozwijanych funkcji wyższego rzędu
- Kompozycja funkcyjna z wykorzystaniem biblioteki PyMonad
- Funktory - uczyń funkcję ze wszystkiego
- Korzystanie z wartościowanej leniwie monady ListMonad()
- Funkcja monady bind()
- Implementacja symulacji za pomocą monad
- Dodatkowe własności biblioteki PyMonad
- Podsumowanie
- Ćwiczenia
- Popraw aproksymację z wykorzystaniem funkcji arcus tangens
- Obliczenia statystyczne
- Walidacja danych
- Wiele modeli
Rozdział 14. Moduły Multiprocessing, Threading i Concurrent.Futures
- Programowanie funkcyjne a współbieżność
- Co naprawdę oznacza współbieżność?
- Warunki brzegowe
- Współdzielenie zasobów za pomocą procesów lub wątków
- Jak uzyskać największe korzyści?
- Korzystanie z pul wieloprocesowych i zadań
- Przetwarzanie wielu dużych plików
- Parsowanie plików logu - pobieranie wierszy
- Parsowanie wierszy logu do postaci nazwanych krotek
- Parsowanie dodatkowych pól obiektu Access
- Filtrowanie szczegółów dostępu
- Analiza szczegółów dostępu
- Pełny proces analizy
- Korzystanie z puli wieloprocesowej w celu przetwarzania równoległego
- Korzystanie z funkcji apply() do wykonywania pojedynczych żądań
- Bardziej złożone architektury przetwarzania wieloprocesowego
- Korzystanie z modułu concurrent.futures
- Korzystanie z pul wątków modułu concurrent.futures
- Korzystanie z modułów threading i queue
- Korzystanie z funkcji asynchronicznych
- Projektowanie współbieżnego przetwarzania
- Podsumowanie
- Ćwiczenia
- Leniwe parsowanie
- Filtrowanie szczegółów ścieżki dostępu
- Dodaj dekoratory @cache
- Utworzenie przykładowych danych
- Zmiana struktury potoku
Rozdział 15. Podejście funkcyjne do usług sieciowych
- Model HTTP żądanie-odpowiedź
- Wstrzykiwanie stanu za pomocą plików cookie
- Serwer o projekcie funkcyjnym
- Szczegóły widoku funkcyjnego
- Zagnieżdżanie usług
- Standard WSGI
- Zgłaszanie wyjątków podczas przetwarzania WSGI
- Praktyczne aplikacje webowe
- Definiowanie usług sieciowych jako funkcji
- Przetwarzanie za pomocą aplikacji Flask
- Warstwa dostępu do danych
- Monitorowanie użycia
- Podsumowanie
- Ćwiczenia
- Aplikacja WSGI - powitanie
- Aplikacja WSGI - demo
- Serializacja danych do formatu XML
- Serializacja danych do formatu HTML
- Title: Programowanie funkcyjne w Pythonie. Jak pisać zwięzły, wydajny i ekspresywny kod. Wydanie III
- Author: Steven F. Lott
- Original title: Functional Python Programming: Use a functional approach to write succinct, expressive, and efficient Python code, 3rd Edition
- Translation: Radosław Meryk
- ISBN: 978-83-8322-990-4, 9788383229904
- Date of issue: 2023-10-24
- Format: Ebook
- Item ID: pytpf3
- Publisher: Helion