시작하기무료로 시작하기

더 나은 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)
코드 편집 및 실행