Inheritance
Prerequisites: Classes and objects
Inheritance lets one class reuse and extend another's behavior, instead of duplicating it.
class User:
def __init__(self, name):
self.name = name
def greet(self):
return f"Hi, I'm {self.name}"
class Admin(User):
def delete_user(self, target):
return f"{self.name} deleted {target}"
admin = Admin("Ada")
print(admin.greet()) # inherited from User
print(admin.delete_user("Bob")) # defined on Admin itself
Expected output
Hi, I'm Ada
Ada deleted Bob
Admin(User) means "Admin inherits from User" — every Admin instance
automatically has everything User defines, plus whatever Admin adds
on top.