Olá Vinícius, tudo bem com você?
Peço desculpas por demorar em lhe responder.
Parabéns pelo seu empenho e por compartilhar com a comunidade seu desenvolvimento.
Uma dica para implementação da função formatado(self)
é a manipulação dos valores do dia e mês para que sejam fornecidos em um padrão determinado, deixo abaixo um exemplo:
def formatado(self):
print('{:02d}/{:02d}/{}'.format(self.dia, self.mes, self.ano))
No exemplo acima :02d
formata um inteiro (d) para um campo de largura mínima 2 (2), com preenchimento de zero à esquerda, quando a largura mínima de dois caracteres não for atendida. Então, caso passássemos a data 3/2/2022, seria preenchido com zeros a esquerda, como mostro abaixo:
class Data:
def __init__(self,dia,mes,ano):
print('Alocado data na memória {}'.format(self))
self.dia = dia
self.mes = mes
self.ano = ano
def formatado(self):
print('{:02d}/{:02d}/{}'.format(self.dia, self.mes, self.ano))
data_obj = Data(2, 3, 2022)
data_obj.formatado()
# Resultado
02/03/2022
Uma outra dica é sobre a declaração das variáveis, no python por padrão declaramos elas usando palavras com letras minúsculas (snake_case). Como demonstrado no exemplo acima.
Caso queira saber um pouco mais sobre estilo de formatação de código recomendo o curso Python: boas práticas de código com PEP8.
Para saber um pouco mais sobre a formatação de sting recomendo esse artigo Anatomy of String Formatting in Python em português: Anatomia da string foramatando em Python. Caso tenha dificuldades com o idioma, recomendo que use o tradutor que existe no navegador.
Continue assim sempre usando o fórum, seja para compartilhar conhecimentos ou para tirar dúvidas.
Abraços e bons estudos!