Chapter 5: Functions¶
This chapter covers advanced function topics including first-class functions, lambda expressions, parameter handling, recursion, functional programming patterns, the functools module, and decorators.
5.1 First-Class Functions¶
5.2 Recursion¶
- Recursion Fundamentals
- Recursive Patterns
- Tree Recursion
- Recursion vs Iteration
- Tail Recursion
- Memoization and Recursion
- sys.setrecursionlimit()
- Divide and Conquer
- Backtracking
5.3 Functional Programming¶
- map(), filter(), reduce()
- Pure Functions
- Higher-Order Functions
- Partial Application
- Function Composition
- operator Module
- Callback Patterns
5.4 functools Module¶
- functools Overview
- functools.cache
- functools.lru_cache
- functools.partial
- functools.reduce
- functools.wraps
- functools.total_ordering
- functools.singledispatch
5.5 Decorators¶
- Decorator Fundamentals
- Decorator Factories
- Stacked Decorators
- Class Decorators
- Practical Patterns
- Decorators Cheat Sheet
5.6 Design Patterns¶
- Strategy Pattern