CommencezCommencez gratuitement

Créer une classe BetterDate

Vous développez un trousse logiciel pour séries chronologiques 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 un constructeur qui crée des objets BetterDate à partir des valeurs d'année, de mois et de jour, mais vous voulez aussi pouvoir créer des objets BetterDate à partir de chaînes, comme 2021-04-30.

Cette activité fait partie du cours

Introduction à la programmation orientée objet en Python

Voir le cours

Instructions de l’exercice

  • Définissez la méthode de classe from_str(), en fournissant l'argument spécial requis ainsi qu'un autre appelé datestr.
  • Séparez datestr par des traits d'union "-" et enregistrez 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 ce code d’exemple.

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