Oioii, tudo bem?
Quando estamos trabalhando com Classes no Python, precisamos criar o método construtor __init__
para que ele crie o objeto daquela classe, e nós consigamos usufruir dos atributos e métodos dela. Acontece que ao escrever seu construtor, não foi colocado os dois underlines (__) antes e depois do nome init, o que fez com que seu código não identificasse o método e não conseguisse construir o objeto da classe.
Adiante, você já foi passado os atributos para a Classe Data
, basta que se passe o parâmetro self na função dataformatada
, visto que ele já iria referenciar todos os seus atributos devido ao método __init__
anteriormente configurado. Caso se deseje adicionar outros atributos apenas nessa função, é recomendado utilizar essa configuração.
Assim, seu código ficará da seguinte maneira:
class Data():
def __init__(self, dia, mes, ano):
self.dia = dia
self.mes = mes
self.ano = ano
def dataformatada(self):
print(self.dia, self.mes, self.ano, sep="/")
data = Data(21,11,2007)
data.dataformatada()
Resultado:
>>>21/11/2007
E ele passa a funcionar corretamente :) Uma dica que eu deixo para você é sobre a convenção snake_case na estruturação de funções do python, utilizado para boas práticas de criação de algoritmos. Desse modo, sua função dataformatada
ficaria com o formato data_formatada
. Gostaria de indicar como recomendação, a leitura do artigo a seguir:
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!