Thursday 1:20 p.m.–4:40 p.m.

Python functions as a first class topic

Luciano Ramalho


This tutorial is a wide and deep exploration of Python functions, the most important abstraction tool in the language. We will precisely define and practice the concepts of first class functions, higher-order functions, and closures. We will apply these ideas in practical exercises and use them to simplify some classic design patterns. With that solid foundation, we cover Python's `@decorator` feature, and the `functools` and `operator` packages which support functional programming idioms. We will also see how Python's flexible parameter declaration and argument handling functionality lets us create APIs that are a joy to use and able to evolve while remaining backward compatible.

Student Handout

No handouts have been provided yet for this tutorial