Queria deixar também para quem passar por aqui como curiosidade:
Poderíamos usar o datetime para manipular a data com maior precisão, em certos casos do nosso cotidiano, como salvar a data no banco no formato datetime
from datetime import date
class Data:
def __init__(self, d, m, y) -> None:
self.d = d
self.m = m
self.y = y
def formatada(self):
return date(day=self.d, month=self.m, year=self.y).strftime("%d/%m/%Y")
no método formatada, os inteiros inputados são convertidos em data pelo construtor 'date()' da classe date do módulo datetime, e depois a data é formatada em uma string novamente, pelo método strftime() da classe date()
>>> from datas import Data
>>> d = Data(21,11,2007)
>>> d.formatada()
'21/11/2007'
>>>
Lembrando também que o strftime() já preenche automaticamento com zero à esquerda caso a data seja de um dígito:
>>> from datas import Data
>>> d2 = Data(1,3,2007)
>>> d2.formatada()
'01/03/2007'
>>>