Olá Antonio, tudo bem com você?
Parabéns pelo seu empenho e por compartilhar com a comunidade seu desenvolvimento.
Quando estamos declarando classes por convenção usamos a nomenclatura no padrão PascalCase, onde escrevemos as palavras juntas (quando usamos mais de uma) e a primeira letra de cada uma deixamos em maiúsculo. Como abaixo:
class Data:
Para saber um pouco mais sobre os padrões das nomenclaturas e seu usos recomendo a leitura do artigo abaixo:
Uma outra dica para implementação da função formatada(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 formatada(self):
print("Dia {:02d} mes {:02d} e ano {}" .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 2/3/2022, seria preenchido com zeros a esquerda, como mostro abaixo:
class Data:
def __init__(self, dia, mes, ano):
print("Construindo objeto... {}" .format(self))
self.dia = dia
self.mes = mes
self.ano = ano
def formatada(self):
print("Dia {:02d} mes {:02d} e ano {}" .format(self.dia, self.mes, self.ano))
d = Data(2, 3, 2022)
d.formatada()
# Resultado
Dia 02 mes 03 e ano 2022
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!