Добавление альтернативного конструктора
Методы класса — удобный способ предоставить альтернативный вариант создания объекта: например, на основе файла или с помощью других входных данных, которые метод обрабатывает и преобразует в нужные атрибуты.
В этом упражнении вы будете работать с классом 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)