Začněte nyníZačněte zdarma

Vytváříme třídu BetterDate

Pracuješ na balíčku pro časové řady a chceš si definovat vlastní třídu pro práci s daty – BetterDate.

Atributy třídy budou year, month a day. Třída bude mít konstruktor, který vytváří objekty BetterDate na základě zadaných hodnot roku, měsíce a dne. Zároveň chceš mít možnost vytvářet objekty BetterDate z řetězců, například 2021-04-30.

Toto cvičení je součástí kurzu

Úvod do objektově orientovaného programování v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Definuj třídní metodu from_str() – uveď povinný speciální argument a druhý argument s názvem datestr.
  • Rozděl datestr podle pomlček "-" a výsledek ulož do proměnné parts.
  • Vrať year, month a day v tomto pořadí pomocí klíčového slova, které zároveň zavolá __init__().
  • Vytvoř proměnnou xmas pomocí metody .from_str() dané třídy a předej jí řetězec "2024-12-25".

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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)
Upravit a spustit kód