НачатьНачать бесплатно

Добавление альтернативного конструктора

Методы класса — удобный способ предоставить альтернативный вариант создания объекта: например, на основе файла или с помощью других входных данных, которые метод обрабатывает и преобразует в нужные атрибуты.

В этом упражнении вы будете работать с классом Person. Его конструктор принимает имя и возраст при инициализации. Вы добавите метод класса, который позволяет создавать объект, передавая имя и год рождения — метод самостоятельно вычислит возраст на основе года рождения.

Это упражнение является частью курса

Введение в объектно-ориентированное программирование на Python

Посмотреть курс

Инструкции к упражнению

  • Добавьте декоратор метода класса.
  • Определите метод класса from_birth_year(), принимающий три аргумента: стандартное ключевое слово для ссылки на класс, name и birth_year.
  • Внутри метода создайте переменную age, вычислив разницу между атрибутом класса CURRENT_YEAR и значением birth_year.
  • Верните атрибуты name и age класса.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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)
Редактировать и запускать код