Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at
"""02 - Extending a class in Python.
Use inheritance to extend the Person class.
class Person:
"""A person has a name and likes to do things."""
def __init__(self, name: str): = name
def __str__(self) -> str:
return f"{}"
def go_to_the_movies(self) -> None:
print(f"{self} goes to the movies. 🍿")
def go_hiking(self) -> None:
print(f"{self} goes hiking. ⛰")
def build_a_robot(self) -> None:
print(f"{self} builds a robot. 🤖")
class Project:
"""A project has a board_name and a description."""
def __init__(self, board_name: str, description: str):
self.board_name = board_name
self.description = description
def __str__(self) -> str:
return f"Project '{self.board_name}'"
class TeamMember(Person):
"""A team member is a person, who works on projects."""
def work_on_project(self, project: Project) -> None:
print(f"{self} is now working on {project}. 📋")
if __name__ == "__main__":
simone = TeamMember("Simone")
data_platform = Project(
board_name="Data Platform",
description="Platform providing datasets and data viewing tools.",