- Class syntax
- The
self
parameter - Method syntax
- Instance Variables
- Inheritance
- Class Variables
- DRY (Don't Repeat Yourself)
- The diamond problem
- Data Structures
- "What is an API?"
- Implement a data structure
- Import and use the data structure in a cient module
- Defensive programming
- Raising Exceptions
- Catching Exceptions
- Custom Exceptions
- The Python Data Model
- "Dunder" protocol methods
__len__
__repr__
- "Dunder" protocol methods
- Writing tests
- Code Documentation
- We'll document our new libarary
- Module docs
- Class docs
- Method docs
- Code comments
- Refactor
- Add a base
Sequence
to factor out common functionality - Show the value of tests
- Add a base
- Git and version control
- Maker sure tests pass
- Branching
- Pull requests and code review