Oi Adenilson, tudo bem ?
No seu código irá ocorrer um pequeno erro de sintaxe, pois há um ponto após a variável: self.dia
. O correto é:
self.dia = dia
Quanto ao preenchimento de zeros, você poderá especificar o número de dígitos, fazendo o seguinte:
print("{:02d}/{:02d}/{:d}".format(self.dia, self.mes, self.ano))
Ou seja, o primeiro valor terá dois dígitos e caso não tenha, preencha com 0 para que se tenha 2 dígitos. O mesmo ocorre com o segundo valor. Isto é valido para quando estamos trabalhando com inteiros. Pegou a ideia?
Caso estejamos trabalhando com strings, outra técnica pode ser utilizada: zfill()
. Segue abaixo o exemplo:
class Data:
def __init__(self, dia, mes, ano):
self.dia = dia
self.mes = mes
self.ano = ano
def formatada (self):
print("{}/{}/{}".format(self.dia.zfill(2), self.mes.zfill(2), self.ano))
data = Data('2','3','2020')
data.formatada()
O zfill preenche com zeros a esquerda caso não atinja o tamanho especificado. No nosso caso, o tamanho especificado é 2, porém, o tamanho da string é 1, então ele preenche com 0 a esquerda até que o tamanho da string seja 2.
Caso queira saber mais a respeito deste método, deixo aqui um artigo sobre o zfill().
Qualquer dúvida estou a disposição. Espero ter ajudado. Bons estudos!!!