Oioiii Mara, tudo bem com você?
Quando estamos trabalhando com classes em Python e queremos criar funções abaixo do nosso método __init__
, precisamos manter a indentação da função na mesma linha desse método, para que a classe consiga visualizar essa função. O que está acontecendo é que sua função def formatada(self)
se encontra dentro do nosso método, por isso a classe não está conseguindo identificar ela.
Para corrigirmos isso, podemos retirar uma indentação dessa função, ficando dessa maneira:
class Datas:
def __init__(self, dia, mes, ano):
print("Construindo objeto...")
self.dia = dia
self.mes = mes
self.ano = ano
def formatada(self):
print(" Hoje é: {}/{}/{}".format(self.dia, self.mes,self.ano))
Resultado:
>>> from datas import Datas
>>> datas = Datas('21','08','2022')
Construindo objeto...
>>> datas.formatada()
Hoje é: 21/08/2022
Dessa maneira, a sua função consegue ser achada pela classe, quando você chamar ela no terminal :)
Caso queira se aprofundar ainda mais sobre a Linguagem Python, recomendo a formação Python e orientação a objetos na alura!
Em caso de dúvidas, me coloco à disposição.
Grande abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!