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... moreperienced presenter and teacher, having spoken
at a number of conferences, software groups, and internal corporate
venues. Austin is also an active member of the open source community,
contributing regularly to various Python and Emacs projects, and he's
the founder of Stavanger Software Developers, one of the largest and
most active social software groups in Stavanger. Austin holds a Master
of Science in Computer Engineering from the University of Texas at
Austin.
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... moreare events where he can be found speaking about topics as diverse as behavioral microeconomics in software development to implementing web services on 8-bit microcontrollers. He is organizer of the Oslo Python group and holds a Ph.D. in a natural science.