Aan de slagGa gratis aan de slag

Adding an alternative constructor

Class methods are a great way of allowing an alternative way to create an object from a class, such as by a file or by accepting different information and performing a task during the construction to return the required attributes.

In this exercise, you'll work with the Person class. The constructor expects a name and age during initialization. You will add a class method that allows initialization by providing name and birth year, where the method will then calculate age from the birth year.

Deze oefening maakt deel uit van de cursus

Introduction to Object-Oriented Programming in Python

Cursus bekijken

Oefeninstructies

  • Add a class method decorator.
  • Define the from_birth_year() class method, which accepts three arguments: the conventional word used as a special argument referring to the class, name, and birth_year.
  • Within the method, create the age variable by calculating the difference between the CURRENT_YEAR class attribute and birth_year.
  • Return the name and age attributes of the class.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

class Person:
  CURRENT_YEAR = 2024
  def __init__(self, name, age):
    self.name = name
    self.age = age
  
  # Add a class method decorator
  ____
  # Define the from_birth_year method
  def ____(____, ____, ____):
    # Create age
    age = ____.____ - ____
    # Return the name and age
    return ____(____, ____)

bob = Person.from_birth_year("Bob", 1990)
Code bewerken en uitvoeren