대체 생성자 추가하기
클래스 메서드는 파일에서 읽거나 서로 다른 정보를 받아들이는 등, 클래스로부터 객체를 만드는 또 다른 방법을 제공하는 훌륭한 수단이에요. 생성 과정에서 필요한 작업을 수행해 필요한 속성을 반환할 수도 있어요.
이 연습 문제에서는 Person 클래스를 다룹니다. 생성자는 초기화 시 이름과 나이를 기대해요. 여기에 이름과 출생 연도로 초기화할 수 있는 클래스 메서드를 추가하고, 메서드가 출생 연도로부터 나이를 계산하도록 하세요.
이 연습은 강의의 일부입니다
Python 객체 지향 프로그래밍 입문
연습 안내
- 클래스 메서드 데코레이터를 추가하세요.
- 세 개의 인자(클래스를 가리키는 관례적 특별 인자,
name,birth_year)를 받는from_birth_year()클래스 메서드를 정의하세요. - 메서드 안에서 클래스 속성
CURRENT_YEAR와birth_year의 차이를 계산해age변수를 만드세요. - 클래스의
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)