CommencerCommencer gratuitement

Créer une classe BetterDate

Vous développez un package de séries temporelles et souhaitez définir votre propre classe pour travailler avec des dates, BetterDate.

Les attributs de la classe seront year, month et day. Vous voulez disposer d’un constructeur qui crée des objets BetterDate à partir des valeurs de l’année, du mois et du jour, mais vous voulez aussi pouvoir créer des objets BetterDate à partir de chaînes, comme 2021-04-30.

Cet exercice fait partie du cours

Introduction à la programmation orientée objet en Python

Afficher le cours

Instructions

  • Définissez la méthode de classe from_str(), en fournissant l’argument spécial requis ainsi qu’un autre appelé datestr.
  • Découpez datestr avec des tirets "-" et stockez le résultat dans la variable parts.
  • Retournez year, month et day, dans cet ordre, en utilisant le mot-clé qui appellera aussi __init__().
  • Créez la variable xmas en utilisant la méthode .from_str() de la classe, en fournissant la chaîne "2024-12-25".

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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)
Modifier et exécuter le code