Creare una classe BetterDate
Stai sviluppando un pacchetto per serie temporali e vuoi definire una tua classe per lavorare con le date, BetterDate.
Gli attributi della classe saranno year, month e day. Vuoi avere un costruttore che crei oggetti BetterDate dati i valori di anno, mese e giorno, ma vuoi anche poter creare oggetti BetterDate a partire da stringhe, come 2021-04-30.
Questo esercizio fa parte del corso
Introduzione alla programmazione orientata agli oggetti in Python
Istruzioni dell'esercizio
- Definisci il metodo di classe chiamato
from_str(), fornendo l'argomento speciale richiesto e un altro chiamatodatestr. - Dividi
datestrsui trattini"-"e salva il risultato nella variabileparts. - Restituisci
year,montheday, in quest'ordine, usando la keyword che chiamerà anche__init__(). - Crea la variabile
xmasusando il metodo.from_str()della classe, passando la stringa"2024-12-25".
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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)