IniziaInizia gratis

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.

Questo esercizio fa parte del corso

Introduction to Object-Oriented Programming in Python

Visualizza il corso

Istruzioni dell'esercizio

  • 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.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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)
Modifica ed esegui il codice