class Data:
def __init__(self, dia, mes, ano):
self.dia = dia
self.mes = mes
self.ano = ano
def formatada(self):
print(f'A data é {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(f'A data é {self.dia}/{self.mes}/{self.ano}')
Legal!
Vou fazer um complemento que talvez lhe interesse (Porque acabei de responder aqui Implementando Métodos - Desafio Opcional hehe)
Seguinte: se o usuario usa um numero inteiro (sem aspas), como aqui:
data = Data('07', '04', '2022')
data.formatada()
O resultado será
7/4/2022
E não
07/04/2022
Como normalmente seria preferível.
Existe uma sintaxe especial para formatar numeros dentro dos placeholders {}. Vc pode usar {:02d}.
Exemplos:
print("f{1:02d}")
01
print("f{12:02d}")
12
print("f{123:02d}")
123
No caso ficaria assim ?
def formatada(self):
print(f'A data é {self.dia:02d}/{self.mes:02d}/{self.ano}')
Isso! Pode testar que funciona.
Mas isso adiciona uma limitação. Agora vai dar um erro se vc tentar usar strings no construtor:
data = Data('07', '04', '2022')
data.formatada()
ValueError: Unknown format code 'd' for object of type 'str'
Isso acontece porque esse formatador ":02d"funciona apenas com números.
Te sugiro tentar resolver essa situação, para que vc possa usar tanto Data("01","01","2022")
quanto Data(1,1,2022)
e ter a mesma saida!