class Data:
def __init__(self, dia, mes, ano):
self.dia = dia
self.mes = mes
self.ano = ano
def formatada(self):
print(" {}/{}/{}".format(self.dia,self.mes,self.ano))
class Data:
def __init__(self, dia, mes, ano):
self.dia = dia
self.mes = mes
self.ano = ano
def formatada(self):
print(" {}/{}/{}".format(self.dia,self.mes,self.ano))
Sugestão: Implemente mais um método usando a função mágica do Python str na sua classe, assim você pode criar um objeto e dar um print diretamente no objeto. Exemplo:
class Data:
def __init__(self, dia, mes, ano):
self.dia = dia
self.mes = mes
self.ano = ano
#Altere o a função para retornar uma string e não dar um print
def formatada(self):
return "{}/{}/{}".format(self.dia,self.mes,self.ano)
#utilize a magic function __str__ do python para que seu objeto consiga dar o print diretamente
def __str__(self):
return self.formatada()
#crie e utilize seu objeto diretamente:
minha_data = Data(21, 8, 2023)
print(minha_data)
Veja que desta forma ao utilizar sua classe o código fica mais limpo, não precisa chamar mais a função formatada, basta dar o print diretamente ou utilizar como quiser :)
Oii Thales, tudo bem?
Parabéns por ter desenvolvido o desafio que foi proposto no curso. Fico feliz que tenha compartilhado com a comunidade do fórum da Alura, assim, podemos ver seu desenvolvimento e ideias de implementação e seu código pode ainda ajudar os outros estudantes da plataforma :)
Uma dica de outra maneira que você pode implementar a sua data na sua função formatada() é através da formatação de string, em que podemos colocar a saída para um padrão determinado por nós, como mostrado no código abaixo:
def formatada(self):
print("{:02d}/{:02d}/{}".format(self.dia, self.mes, self.ano))
Resultado:
>>>data_teste = Data(1,9,2022)
>>>data_teste.formatada()
>>>01/09/2022
Nesse caso, o valor de formatação deve ser um inteiro (tipo int, definido como “d”), em que o :02d determina um campo de tamanho mínimo dois, em que o ‘0’ (zero) indica que se não houver pelo menos duas casas no número, ele será preenchido com um zero na esquerda dele, como ocorreu no exemplo acima.
Caso queira saber mais sobre formatação de strings, recomendo a leitura da documentação do Python sobre Entrada e Saída e se deseja se aprofundar mais ainda sobre a Linguagem Python, recomendo a formação Python e orientação a objetos na alura!
Muito obrigada por ter compartilhado seu código!
Grande abraço e bons estudos!