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
Instrucciones de ejercicio
- Define el método de clase llamado
from_str()
, proporcionando el argumento especial requerido y otro llamadodatestr
. - Divide
datestr
por guiones"-"
y guarda el resultado como variableparts
. - Devuelve
year
,month
, yday
, 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)