OOP In Python: Principles, Inheritance, And Exception Handling