If you have been programming in Python for a while, then you've probably written hundreds, or even thousands, of functions.
In this course, we go behind the scenes to understand what happens when you define a function, and also when you then execute that function. We'll look at bytecodes, at function objects, at the ways in which Python handles and tracks different types of arguments. We'll also look at "inner functions" — functions defined inside of other functions — and how Python keeps track of the different variable scopes present in our functions.
We'll also consider the difference between functions and stack frames, and will touch on typing with Mypy, as well.
If you want to understand how Python's functions are defined, stored, and then executed, this is the course for you. You'll learn a great deal that'll help you to write better, more fluent Python code — and thus get more done in less time.