Zacznij terazZacznij za darmo

Tworzenie klasy BetterDate

Tworzysz pakiet do analizy szeregów czasowych i chcesz zdefiniować własną klasę do pracy z datami: BetterDate.

Klasa będzie miała atrybuty year, month i day. Chcesz, aby konstruktor tworzył obiekty BetterDate na podstawie podanych wartości roku, miesiąca i dnia, ale także żeby można było tworzyć obiekty BetterDate z ciągów znaków, takich jak 2021-04-30.

To ćwiczenie jest częścią kursu

Wprowadzenie do programowania obiektowego w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj metodę klasową o nazwie from_str(), podając wymagany specjalny argument oraz drugi argument o nazwie datestr.
  • Podziel datestr według myślników "-" i zapisz wynik jako zmienną parts.
  • Zwróć year, month i day w tej kolejności, używając słowa kluczowego, które wywoła również __init__().
  • Utwórz zmienną xmas, korzystając z metody .from_str() klasy i podając ciąg znaków "2024-12-25".

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod