1. Great job!
Great job! You've covered a lot in this course.
2. Chapter 1 - Best Practices
In the first chapter, you learned how to make high-quality functions by giving them docstrings and by making sure that they only do one thing. Remembering the acronym DRY, or "Don't Repeat Yourself", helped you notice when you needed to pull part of your code into a reusable function.
You also learned about how Python passes arguments to functions and the difference between mutable and immutable variables.
3. Chapter 2 - Context Managers
In the chapter on context managers, you learned how to use the keyword "with" to enter and then exit a context. You also learned how to write your own context managers by using the contextmanager() decorator.
4. Chapter 3 - Decorators
You also spent a lot of time in this course understanding decorators: how they work, how to use them, and how to write decorators of your own.
5. Chapter 4 - More on Decorators
Finally, in chapter 4, you learned how to use functools.wraps() to make sure your decorated functions maintain their metadata.
6. Chapter 4 - More on Decorators
And you learned how to write decorators that take arguments.
7. Thank you!
It has been an honor to spend this time with you. I wanted to let you know that I'll be donating a portion of the proceeds from this course to WiMLDS, a non-profit that helps support and promote women in the fields of machine learning and data science. I'll be looking forward to hearing about all of the amazing things you do with Python in the future!