Simple play icon Course

Core Python 3: Implementing Iterators, Iterables, and Collections

by Austin Bingham and Robert Smallshire

Iterators, Iterables and Collections are central to how Python works. In this course, you'll move beyond the built-in and standard library collections, and learn how to build your own iterators, iterables and collections from the ground up.

What you'll learn

Collections in Python are organized according to a scheme of protocols such as Container, Iterable, and Sequence. In this course, Core Python 3: Implementing Iterators, Iterables, and Collections, you'll understand how the built-in collections are situated in this scheme. First, you'll discover how collections support different protocols and how those protocols work together to produce powerful, and yet easy-to-use collections.

Next, you’ll learn how to design and code new iterators for existing collections, and for whole new collections that meet your specific needs, by following a process of test-driven development. Finally, you'll learn how to optimize collections for performance, so new collections can be both correct, and fast.

When you’re finished with this course, you’ll gain a deeper insight into how Python works beneath the surface.

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