Apenas compartilhando, pensei em resolver este exercício colocando também a data por extenso utilizando um dicionário para os meses. Alguém faria de outra forma? :)
class DATE:
def __init__(self,dd,mm,yyyy):
self.day = dd
self.month = mm
self.year = yyyy
def formated(self):
month_name = {
'1': 'janeiro',
'2': 'fevereiro',
'3': 'março',
'4': 'abril',
'5': 'maio',
'6': 'junho',
'7': 'julho',
'8': 'agosto',
'9': 'setembro',
'10': 'outubro',
'11': 'novembro',
'12': 'dezembro'
}
numeric = f'{self.day:02d}/{self.month:02d}/{self.year:04d}'
written = f'{str(self.day)} de {month_name[str(self.month)]} de {str(self.year)}'
ret = numeric + ' - ' + written
print(ret)
return ret
new_date = DATE(4,8,1989)
new_date.formated()