Module 5: Testing and Mocking
- Writing unit tests with `unittest` and `pytest`
- Mocking objects the `unittest.mock` module
- Test coverage and best practices
- Python versions compatibility testing
Module 6: Error Handling
- Exception hierarchy in Python
- `try`, `except`, `else`, `finally` blocks
- Custom exceptions and raising exceptions
- Using logging for visibility into errors
Module 7: Python Debugging
- Debugging tools and techniques
- Using `pdb`, `ipdb` and other debuggers
- Analyzing stack traces and debugging common issues
- Profiling and optimizing code performance
Module 8: Iterators and Generators
- Understanding iterators and iterable objects
- Creating custom iterators
- Generator functions and expressions
- Using generators for efficient data processing