# Advanced Python Mastery Exercises

Copyright (C) 2007-2023  
David M. Beazley  
https://www.dabeaz.com

This page contains links to all of the course exercises.  For the best experience,
the exercises should be worked in order as later exercises often build upon earlier
exercises.  The [`Solutions/`](../Solutions) directory contains fully worked
out solutions to every exercise.  You can use this if you get stuck or you
need to reset your code to a working state.

Before beginning, you should fork/clone the GitHub repo so that you have a
local copy on your machine.  Exercises assume that all of your work will
take place in the top-level `python-mastery` directory.

Associated course presentation slides can be found at [PythonMastery.pdf](../PythonMastery.pdf).

## 1. Python Review

- [Exercise 1.1](ex1_1.md)
- [Exercise 1.2](ex1_2.md)
- [Exercise 1.3](ex1_3.md)
- [Exercise 1.4](ex1_4.md)
- [Exercise 1.5](ex1_5.md)
- [Exercise 1.6](ex1_6.md)

## 2. Data Handling

- [Exercise 2.1](ex2_1.md)
- [Exercise 2.2](ex2_2.md)
- [Exercise 2.3](ex2_3.md)
- [Exercise 2.4](ex2_4.md)
- [Exercise 2.5](ex2_5.md)
- [Exercise 2.6](ex2_6.md)

## 3. Classes and Objects

- [Exercise 3.1](ex3_1.md)
- [Exercise 3.2](ex3_2.md)
- [Exercise 3.3](ex3_3.md)
- [Exercise 3.4](ex3_4.md)
- [Exercise 3.5](ex3_5.md)
- [Exercise 3.6](ex3_6.md)
- [Exercise 3.7](ex3_7.md)
- [Exercise 3.8](ex3_8.md)

## 4. Inside Python Objects

- [Exercise 4.1](ex4_1.md)
- [Exercise 4.2](ex4_2.md)
- [Exercise 4.3](ex4_3.md)
- [Exercise 4.4](ex4_4.md)

## 5. Functions, Errors, and Testing

- [Exercise 5.1](ex5_1.md)
- [Exercise 5.2](ex5_2.md)
- [Exercise 5.3](ex5_3.md)
- [Exercise 5.4](ex5_4.md)
- [Exercise 5.5](ex5_5.md)
- [Exercise 5.6](ex5_6.md)

## 6. Working with Code

- [Exercise 6.1](ex6_1.md)
- [Exercise 6.2](ex6_2.md)
- [Exercise 6.3](ex6_3.md)
- [Exercise 6.4](ex6_4.md)
- [Exercise 6.5](ex6_5.md)

## 7. Metaprogramming

- [Exercise 7.1](ex7_1.md)
- [Exercise 7.2](ex7_2.md)
- [Exercise 7.3](ex7_3.md)
- [Exercise 7.4](ex7_4.md)
- [Exercise 7.5](ex7_5.md)
- [Exercise 7.6](ex7_6.md)

## 8. Iterators, Generators, and Coroutines

- [Exercise 8.1](ex8_1.md)
- [Exercise 8.2](ex8_2.md)
- [Exercise 8.3](ex8_3.md)
- [Exercise 8.4](ex8_4.md)
- [Exercise 8.5](ex8_5.md)
- [Exercise 8.6](ex8_6.md)

## 9. Modules and Packages

- [Exercise 9.1](ex9_1.md)
- [Exercise 9.2](ex9_2.md)
- [Exercise 9.3](ex9_3.md)
- [Exercise 9.4](ex9_4.md)
