Segue a minha solução, adicionando um pequeno extra para pegar datas no formato que a gente usa aqui no Brasil, dos EUA e por fim o formato internacional ISO:
class Data:
def __init__(self, dia, mes, ano):
self.dia = dia
self.mes = mes
self.ano = ano
def formatada(self, tipo = "BR"):
if tipo.upper() == "BR":
print(f"{self.dia}/{self.mes}/{self.ano}")
elif tipo.upper() == "US":
print(f"{self.mes}/{self.dia}/{self.ano}")
elif tipo.upper() == "ISO":
print(f"{self.ano}-{self.mes}-{self.dia}")
else:
print("Error: O formato da data deve ser BR, US ou ISO. Default é BR.")
>>> from datas import Data
>>> d = Data(25,11,1997)
>>> d.formatada("ISO")
1997-11-25
>>> d.formatada("US")
11/25/1997
>>> d.formatada("BR")
25/11/1997