ComenzarEmpieza gratis

Crear una clase BetterDate

Estás desarrollando un paquete de series temporales y quieres definir tu propia clase para trabajar con fechas, BetterDate.

Los atributos de la clase serán year, month, y day. Quieres tener un constructor que cree objetos BetterDate dados los valores de año, mes y día, pero también quieres poder crear objetos BetterDate a partir de cadenas, como 2021-04-30.

Este ejercicio forma parte del curso

Introducción a la Programación Orientada a Objetos en Python

Ver curso

Instrucciones de ejercicio

  • Define el método de clase llamado from_str(), proporcionando el argumento especial requerido y otro llamado datestr.
  • Divide datestr por guiones "-" y guarda el resultado como variable parts.
  • Devuelve year, month, y day, en ese orden, utilizando la palabra clave que también llamará a __init__().
  • Crea la variable xmas utilizando el método .from_str() de la clase, probando la cadena "2024-12-25".

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

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)
Editar y ejecutar código