Functional Python programming create succinct and expressive implementations with functional programming in Python
This book is for developers who want to use Python to write programs that lean heavily on functional programming design patterns. You should be comfortable with Python programming, but no knowledge of functional programming paradigms is needed.
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham, England :
Packt Publishing
2015.
|
Edición: | 1st edition |
Colección: | Community experience distilled.
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009629840906719 |
Tabla de Contenidos:
- ""Cover""; ""Copyright""; ""Credits""; ""About the Author""; ""About the Reviewers""; ""www.PacktPub.com""; ""Table of Contents""; ""Preface""; ""Chapter 1: Introducing Functional Programming""; ""Identifying a paradigm""; ""Subdividing the procedural paradigm""; ""Using the functional paradigm""; ""Using a functional hybrid""; ""Looking at object creation""; ""The stack of turtles""; ""A classic example of functional programming""; ""Exploratory Data Analysis""; ""Summary""; ""Chapter 2: Introducing Some Functional Features""; ""First-class functions""; ""Pure functions""
- ""Higher-order functions""""Immutable data""; ""Strict and non-strict evaluation""; ""Recursion instead of a explicit loop state""; ""Functional type systems""; ""Familiar territory""; ""Saving some advanced concepts""; ""Summary""; ""Chapter 3: Functions, Iterators, and Generators""; ""Writing pure functions""; ""Functions as first-class objects""; ""Using strings""; ""Using tuples and namedtuples""; ""Using generator expressions""; ""Exploring the limitations of generators""; ""Combining generator expressions""; ""Cleaning raw data with generator functions""
- ""Using lists, dicts, and sets""""Using stateful mappings""; ""Using the bisect module to create a mapping""; ""Using stateful sets""; ""Summary""; ""Chapter 4: Working with Collections""; ""An overview of function varieties""; ""Working with iterables""; ""Parsing an XML file""; ""Parsing a file at a higher level""; ""Pairing up items from a sequence""; ""Using the iter() function explicitly""; ""Extending a simple loop ""; ""Applying generator expressions to scalar functions""; ""Using any() and all() as reductions""; ""Using len() and sum()""; ""Using sums and counts for statistics""
- ""Using zip() to structure and flatten sequences""""Unzipping a zipped sequence""; ""Flattening sequences""; ""Structuring flat sequences""; ""Structuring flat sequences�an alternative approach""; ""Using reversed() to change the order""; ""Using enumerate() to include a sequence number""; ""Summary""; ""Chapter 5: Higher-Order Functions""; ""Using max() and min() to find extrema""; ""Using Python lambda forms""; ""Lambdas and the lambda calculus""; ""Using the map() function to apply a function to a collection""; ""Working with lambda forms and map()""
- ""Using map() with multiple sequences""""Using the filter() function to pass or reject data""; ""Using filter() to identify outliers""; ""The iter() function with a sentinel value""; ""Using sorted() to put data in order""; ""Writing higher-order functions""; ""Writing higher-order mappings and filters""; ""Unwrapping data while mapping""; ""Wrapping additional data while mapping""; ""Flattening data while mapping""; ""Structuring data while filtering""; ""Writing generator functions""; ""Building higher-order functions with Callables""; ""Assuring good functional design""
- ""Looking at some of the design patterns""