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
Pokyny k cvičení
- Definuj třídní metodu
from_str()– uveď povinný speciální argument a druhý argument s názvemdatestr. - Rozděl
datestrpodle pomlček"-"a výsledek ulož do proměnnéparts. - Vrať
year,monthadayv tomto pořadí pomocí klíčového slova, které zároveň zavolá__init__(). - Vytvoř proměnnou
xmaspomocí 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)