Simple play icon Course

Core Python 3: Functions and Functional Programming

by Austin Bingham and Robert Smallshire

A key to Python's expressiveness lies in its model of functions and the tools it provides for working with them. In this course, you'll learn more about Python's concept of "callable objects" and some sophisticated ways to use them in your programs.

What you'll learn

In Python, as with most programming languages, functions are a fundamental tool for managing program complexity. Understanding how to use functions fluently is a key skill on the road to mastering Python, as is knowing alternative techniques for the cases where functions are insufficient for your needs. In this course,Core Python 3: Functions and Functional Programming, you'll learn about some of the finer details of using functions as well as more general concepts that subsume them. First, you'll look at the various types of callable objects in Python, along with extended argument definition and calling syntax. Then, you'll explore local functions and the concept of closures that allow them to work. Next, you'll discover Python's powerful system of decorators which allow you to enhance or modify existing functions. Finally, you'll understand the functional-style programming tools in Python along with advanced use of comprehensions. By the end of this course, you'll have a deeper understanding of Python's sophisticated approach to calling functions, and you'll see that functions are actually just one aspect of a more general set of concepts in the language.

About the authors

Austin is a founding director of Sixty North, a software consulting, training, and application development company. A native of Texas, in 2008 Austin moved to Stavanger, Norway where he helped develop industry-leading oil reservoir modeling software in C++ and Python. Prior to that he worked at National Instruments developing LabVIEW, at Applied Research Labs (Univ. of Texas at Austin) developing sonar systems for the U.S. Navy, and at a number of telecommunications companies. He is an ex... more

Robert Smallshire is a founder of Sixty North, a software product and consulting business in Norway. Robert has worked in senior architecture and technical management roles for software companies in the energy sector processing the masses of information flowing from today's digital oil fields. He has designed, and implemented effective architectures for sophisticated scientific and enterprise software in Python, C++, and C#. Robert is a regular speaker at conferences, meetups and corporate softw... more

Ready to upskill? Get started