Bắt đầu ngayBắt đầu miễn phí

Xây dựng lớp BetterDate

Bạn đang phát triển một gói time series và muốn định nghĩa lớp riêng để làm việc với ngày tháng, BetterDate.

Các thuộc tính của lớp sẽ là year, monthday. Bạn muốn có một constructor để tạo đối tượng BetterDate khi truyền vào year, month và day, đồng thời cũng muốn có khả năng tạo đối tượng BetterDate từ chuỗi, chẳng hạn 2021-04-30.

Bài tập này là một phần của khóa học

Nhập môn Lập trình Hướng đối tượng với Python

Xem khóa học

Hướng dẫn bài tập

  • Định nghĩa class method tên from_str(), cung cấp đối số đặc biệt bắt buộc và một đối số khác tên datestr.
  • Tách datestr bằng dấu gạch ngang "-" và lưu kết quả vào biến parts.
  • Trả về year, monthday, theo đúng thứ tự đó, dùng từ khóa cũng sẽ gọi __init__().
  • Tạo biến xmas bằng phương thức .from_str() của lớp, truyền vào chuỗi "2024-12-25".

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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)
Chỉnh sửa và Chạy Mã