====== Object-Oriented Programming (OOP) ====== === Classes and Objects === Classes are blueprints for creating objects. Objects are instances of a class. **Example:** class Person: def __init__(self, name, age): self.name = name self.age = age def greet(self): return f"Hello, my name is {self.name} and I am {self.age} years old." person1 = Person("Alice", 30) print(person1.greet()) # Output: Hello, my name is Alice and I am 30 years old. === Inheritance === Inheritance allows a class to inherit methods and attributes from another class. **Example**: class Employee(Person): def __init__(self, name, age, position): super().__init__(name, age) self.position = position def describe_job(self): return f"I work as a {self.position}." employee1 = Employee("Bob", 35, "Software Engineer") print(employee1.greet()) # Output: Hello, my name is Bob and I am 35 years old. print(employee1.describe_job()) # Output: I work as a Software Engineer.