Python Standard Library
Built-in Modules You Already Have
In the previous unit, we learned how to create packages and install external libraries. Now let's explore modules that come built into Python, ready to use without installing anything.

Built-in Modules You Already Have
In the previous unit, we learned how to create packages and install external libraries. Now let's explore modules that come built into Python, ready to use without installing anything.

Organizing Modules and Using External Code
In the previous unit, we learned to create modules. Now let's organize multiple modules into packages and explore how to use libraries from the Python community.

Organizing Code into Reusable Files
In the previous unit, we explored recursion. Now let's learn how to organize code into modules, separate files that you can import and reuse across projects.

Functions That Call Themselves
In the previous unit, we finished our exploration of OOP. Now let's look at recursion, a technique where a function calls itself to solve a problem.

Controlling Access and Creating Flexible Interfaces
In the previous unit, we explored inheritance. Now let's look at two more OOP concepts: encapsulation and polymorphism. Encapsulation controls access to an object's data. Polymorphism lets different classes share a common interface.

Subclasses, Method Overriding, and super()
In the previous unit, we explored methods and the difference between class and instance variables. Now let's look at inheritance, which lets a class inherit attributes and methods from another class.

Constructor, Instance Methods, and Class vs Instance Variables
In the previous unit, we introduced classes and objects. Now let's dig deeper into methods, functions that live inside classes, and understand the difference between class variables and instance variables.

Organizing Code with Blueprints
In the previous unit, we learned about file operations. Now let's explore Object-Oriented Programming (OOP), a way of organizing code around objects that represent real-world entities.

Reading and Writing Data in Python
In the previous unit, we learned about dictionaries. Now let's explore file operations: how to read data from files and write data to files so your programs can persist information.

Key-Value Storage in Python
In the previous unit, we explored ranges, sets, and tuples. Now let's look at dictionaries, Python's way of storing data as key-value pairs.
