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.
Collections in Python are organized according to a scheme of protocols such as Container, Iterable, and Sequence. In this course, Core Python: 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.
Austin is a founding director of Sixty North, a software consulting,
training, and application development company. He's a native of Texas
but currently lives in Norway where he writes software, runs a local
software interest group, and presents and teaches whenever he can.
Robert Smallshire is a founding director of Sixty North, a software product and consulting business in based in Norway. He has held several senior software architecture and technical management roles, and he is a regular conference speaker. Python is his weapon of choice.
Course Overview Hi, everyone. I'm Rob Smallshire, and I'm here to welcome you to Core Python: Implementing Collections. My coauthor, Austin Bingham, and I are both founders and principle consultants at Sixty North. You won't travel far in your journey with Python before you encounter collections. In this course, you'll learn not just how to use the existing built‑in collections, like list and dictionaries, but truly how they work by building your own from scratch in Python. Some of the major topics we'll cover include designing iterators for custom traversals over existing collections, the all‑important distinction between iterables and iterators, collection protocols, like container, sized, and sequence, safely building new collections from the ground up with test‑driven development, and optimizing collections for performance. By the end of this course, you'll know how to create new collections in Python and have a much deeper understanding of how collections you use every day in Python are situated in the system of protocols. When the built‑in collections aren't sufficient for your needs, you'll be able to go beyond the limits of what Python provides out of the box. Before beginning this course, students should be familiar with the essentials of the Python language, including functions, classes, and modules. This course assumes knowledge of these topics equivalent to what's presented in Core Python: Getting Started and Core Python: Classes and Object‑Orientation. We hope you'll join us on this journey to learn more about Python with the Core Python: Implementing Collections course, at Pluralsight.