Criando uma classe BetterDate
Você está desenvolvendo um pacote de séries temporais e deseja definir sua própria classe para trabalhar com datas, BetterDate
.
Os atributos da classe serão year
, month
e day
. Você deseja ter um construtor que crie objetos BetterDate
com os valores de ano, mês e dia, mas também deseja poder criar objetos BetterDate
a partir de cadeias de caracteres, como 2021-04-30
.
Este exercício faz parte do curso
Introdução à programação orientada a objetos em Python
Instruções do exercício
- Defina o método de classe chamado
from_str()
, fornecendo o argumento especial necessário e outro chamadodatestr
. - Divida
datestr
por hífens"-"
e armazene o resultado como a variávelparts
. - Retorne
year
,month
eday
, nessa ordem, usando a palavra-chave que também chamará__init__()
. - Crie a variável
xmas
usando o método.from_str()
da classe, provando a cadeia de caracteres"2024-12-25"
.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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)