Acho mais interessante o uso do método format desse jeito, pois facilita a leitura do que será impresso.
Caso fosse utilizar instanciando o resultado do método formatada da classe Data em uma outra variável, para de fato usá-la de alguma forma, o ideal seria que o método em questão retornasse a string e não que somente imprimisse no console. Considerando isso, para funcionar no Python Console, conforme descrito no exercício, precisaria ser dessa forma aqui:
class Data:
def __init__(self, dia, mes, ano):
self.dia = dia
self.mes = mes
self.ano = ano
def formatada(self):
print(f"{self.dia}/{self.mes}/{self.ano}")
Mas para ter uma aplicação no mundo real, sendo usado por outras classes, precisaria estar assim:
class Data:
def __init__(self, dia, mes, ano):
self.dia = dia
self.mes = mes
self.ano = ano
def formatada(self):
return f"{self.dia}/{self.mes}/{self.ano}"