
class Dog:
def __init__(self, name, breed):
self.name = name
self.breed = breed
def bark(self):
return f"{self.name} says Woof!"
def __str__(self):
return f"{self.name} ({self.breed})"
my_dog = Dog("Rex", "Labrador")
print(my_dog.bark()) # Rex says Woof!
print(my_dog) # Rex (Labrador)Inheritance:
class GuideDog(Dog):
def __init__(self, name, breed, owner):
super().__init__(name, breed)
self.owner = owner
def guide(self):
return f"{self.name} guides {self.owner}"Key concepts:
__init__ — constructor, called when object is created
self — reference to the instance
Inheritance — child class gets parent's methods
super() — call parent class methods
Reference:
TaskLoco™ — The Sticky Note GOAT