CommencerCommencer gratuitement

Construire une classe BetterDate

Vous développez un progiciel 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 souhaitez 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 également pouvoir créer des objets BetterDate à partir de chaînes de caractères, telles que 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 appelée from_str(), en fournissant l'argument spécial requis, et une autre appelée datestr.
  • Divisez datestr par des tirets "-" et stockez le résultat dans la variable parts.
  • Renvoyez year, month, et day, dans cet ordre, en utilisant le mot-clé qui appellera également __init__().
  • Créez la variable xmas à l'aide de la méthode .from_str() de la classe, en fournissant la chaîne de caractères "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