IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Definisci il metodo di classe chiamato from_str(), fornendo l'argomento speciale richiesto e un altro chiamato datestr.
  • Dividi datestr sui trattini "-" e salva il risultato nella variabile parts.
  • Restituisci year, month e day, in quest'ordine, usando la keyword che chiamerà anche __init__().
  • Crea la variabile xmas usando 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)
Modifica ed esegui il codice