더 나은 BetterDate 클래스 만들기
타임 시리즈 패키지를 개발하면서 날짜를 다루기 위한 자체 클래스 BetterDate를 정의하려고 합니다.
이 클래스의 속성은 year, month, day입니다. 연도, 월, 일을 값으로 받아 BetterDate 객체를 생성하는 생성자도 필요하지만, 2021-04-30처럼 문자열로부터도 BetterDate 객체를 만들 수 있게 하고 싶습니다.
이 연습은 강의의 일부입니다
Python 객체 지향 프로그래밍 입문
연습 안내
from_str()라는 클래스 메서드를 정의하고, 필수 특별 인자와datestr라는 인자를 받도록 하세요.datestr를 하이픈"-"으로 분할하여 결과를parts변수에 저장하세요.__init__()도 호출되도록 하는 키워드를 사용해, 순서대로year,month,day를 반환하세요.- 클래스의
.from_str()메서드를 사용해 문자열"2024-12-25"로xmas변수를 생성하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
class BetterDate:
def __init__(self, year, month, day):
self.year, self.month, self.day = year, month, day
# Define a class method from_str
____
____
# Split the string at "-"
parts = datestr.____("____")
year, month, day = int(parts[0]), int(parts[1]), int(parts[2])
# Return the class instance
____ ____(____, ____, ____)
# Create the xmas object
xmas = ____.____("____")
print(xmas.year)
print(xmas.month)
print(xmas.day)