Olá Thiago!
Não é exigência demais, sinta-se a vontade para perguntar sempre que quiser :)
Quando você passa o mês como sendo 08 o python não consegue reconhecer que isso é um número, isso porque, não é permitido passar números com 0 na frente em python.
Dessa forma, esse é um dos motivos que, quando fazemos o print
na função formatada
acrescentamos aquela formatação 02d
:
def formatada(self):
print(f'{self.dia:02d}/{self.mes:02d}/{self.ano}')
Essa formatação, é responsável por acrescentar um 0 antes de imprimir esse número inteiro na tela, mas ela não modifica essa restrição de como deve ser feito o input numérico.
Sendo assim, para que tudo funcione certinho, você deve entrar com o número sem o 0 na frente para que o python identifique que você está entrando com um número inteiro, e deixar que sua função acrescente esse 0 na formatação para você :)
Espero que tenha ajudado. Qualquer dúvida estou por aqui ^^
Bons estudos!