ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Defina o método de classe chamado from_str(), fornecendo o argumento especial necessário e outro chamado datestr.
  • Divida datestr por hífens "-" e armazene o resultado como a variável parts.
  • Retorne year, month e day, 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)
Editar e executar o código