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
datestrpor hífens"-"e armazene o resultado como a variávelparts. - Retorne
year,montheday, nessa ordem, usando a palavra-chave que também chamará__init__(). - Crie a variável
xmasusando 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)