In our examples so far, we've already seen many of the built-in Python data structures in action. You've probably also covered many of them in introductory books or tutorials. In this chapter, we'll discuss the object-oriented features of these data structures, when they should be used instead of a regular class, and when they should not be used. In particular, we'll be covering the following topics:
- Tuples and named tuples
 - Dataclasses
 - Dictionaries
 - Lists and sets
 - How and why to extend built-in objects
 - Three types of queues