Core Python: Functions and Functional Programming
By Austin Bingham and Robert Smallshire
Course info



Course info



Description
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: 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.
Section Introduction Transcripts
Course Overview
Hi, everyone. My name is Austin Bingham, and welcome to my course, Core Python: Functions and Functional Programming. I'm a founder and principal consultant at Sixty North. 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, we'll look at some of the finer details of using functions, as well as more general concepts that subsume them. Some of the major topics we will cover include the notion of callables, a generalization of functions that includes several other constructs in Python; lambdas, a less powerful form of functions that don't require names; extended forms of Python's formal argument and calling syntax; the concept of closures, whereby functions can retain access to objects that might otherwise be garbage collected; decorators, a powerful technique for augmenting functions without modifying the functions themselves; tools for writing Python in a functional style; advanced use of comprehensions, including nesting and the use of multiple inputs. 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. Before beginning the course, you should be familiar with the basic use of functions in Python, and you should be familiar with both comprehensions and generator expressions. From here, you should feel comfortable diving into other core Python language courses on robust resource and error handling; introspection; numeric types, dates and times. I hope you will join me on this journey to learn more about functions in Python with the Core Python: Functions and Functional Programming course, at Pluralsight.