Log In
0% completed
All Lessons
Free Lessons (4)
Introduction
Introduction to Functional Programming
Programming Paradigms
Functional Programming and Its Characteristics
Advantages and Disadvantages of Functional Programming
Quiz: Functional Programming
Functions as Objects
Objects and Variables in Python
Storing Function Reference in a Variable
Aliases
Functions as Parameters and Return Values
Lambda Functions
Function Versions of Standard Operators
Summary: Sources of Function Objects
Quiz: Functions as Objects
Mutability
Mutability in Python
The Problem With Mutable Objects: Accidental Modification
Changing Immutable Objects
The Problem With Immutable Objects
Summary: Mutability in Python
Quiz: Mutability in Python
Recursion
Introducing Recursion
Factorials
Recursion Limits and Tail Recursion
Inefficient Recursion: Fibonacci Numbers
Memoization
Flattening Lists
Summary: Recursion
Quiz: Recursion
Course Assessment
Functional Programming in Python - Exam 1
Closures
What Is a Closure?
Creating Anonymous Functions
Composing Functions
Using Closures Instead of Classes
Using Classes Instead of Closures
Closure Inspection
Summary: Closures
Quiz: Closures
Iterators
What Is an Iterator?
Iterables and For Loops
Iterators vs Iterables
Iterators Use Lazy Evaluation
Sequences
Realising an Iterator
Unpacking an Iterable
Creating Your Own Iterator
Exercise: Create a Fibonacci Iterator
Solution Review: Create a Fibonacci Iterator
Built-In Functions
Summary: Iterators
Quiz: Iterators
Transforming Iterables
Enumerate
Zip
Filter
Map
Reversed
Sorted
Combining Functions
Summary: Transforming Iterables
Quiz: Transforming Iterables
Reducing Iterables
Len and Sum
Min
Max, Any and All
Functools Reduce
Map-Reduce Pattern
Summary: Reducing Iterables
Quiz: Reducing Iterables
Course Assessment
Functional Programming in Python - Exam 2
Comprehensions
List Comprehensions
List Comprehensions Using Conditions
Nested Comprehensions
Summary: Comprehensions
Quiz: Comprehensions
Generators
How a Generator Works: Alphabet Iterator
Exercise: Generator for Fibonacci Numbers
Solution Review: Generator for Fibonacci Numbers
Chaining Iterators
Generator Comprehensions
Summary: Generators
Quiz: Generators
Partial Application and Currying
Closures and Partial Application
Partial Application With functools.partial
Applying Keyword Arguments
Currying
When to Use Currying?
Composition
Creating a Compose Function
Libraries Supporting Composition
Summary: Partial Application and Currying
Quiz: Partial Application and Currying
Functors and Monads
Introducing Functors, Applicatives, and Monads
Functors
Applicative Functors
Monads
Summary: Functors and Monads
Quiz: Functors and Monads
Course Assessment
Functional Programming in Python - Exam 3
Useful Libraries
Itertools
Functools, PyMonad, and Oslash
Conclusion
Wrap Up!
Learn Functional Programming in Python
/
...
/
Quiz: Generators
Quiz: Generators
Test your knowledge of generators.
We'll cover the following...
In cases where you
...