File Operations
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.

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.

More Ways to Organize Data
In the previous unit, we learned about list comprehension. Now let's explore three more data structures: ranges, sets, and tuples. Each has different properties that make it useful in specific situations.

Building Lists the Pythonic Way
In the previous unit, we learned how to create and manipulate lists. Now let's look at list comprehension, a concise way to generate lists in a single line.

Storing Multiple Values in Python
In the previous unit, we explored string operations. Now let's look at lists, Python's way of storing multiple values in a single variable.

Manipulating Text in Python
In the previous unit, we explored Python's built-in functions. Now let's look at strings, one of the most common data types you'll work with.

Tools That Come with Python
In the previous unit, we made our Turtle programs interactive with keyboard and mouse events. Now let's explore Python's built-in functions, tools that are always available without importing anything.

Making Graphics Interactive
In the previous unit, we covered lambda functions. Now let's make our Turtle programs interactive. Events let your program respond to user input like key presses and mouse clicks.

Anonymous Functions in Python
In the previous unit, we defined functions with def. Python has another way to create functions: the lambda keyword. Lambda functions are small, anonymous functions that you can define in a single line.

Reusable Blocks of Code
In the previous unit, we used loops to repeat code. But what if you want to reuse the same block of code in different places? That's what functions are for. They let you define a block of code once and call it whenever you need it.
