segue codigo:
class data:
def __init__(self, dia, mes, ano ):
print( "data /{}".format(self))
self.dia = dia
self.mes = mes
self.ano = ano
segue codigo:
class data:
def __init__(self, dia, mes, ano ):
print( "data /{}".format(self))
self.dia = dia
self.mes = mes
self.ano = ano
Olá Anderson, tudo bem com você?
Meus parabéns pela implementação do código, fico feliz que tenha compartilhado com a comunidade do fórum Alura.
Para poder ter acesso aos atributos declarados no método inicializador é necessário que os atributos tenham sidos declarados antes do uso, o código em Python é executado de cima para baixo, no exemplo postado, está ocorrendo a tentativa de uso dos atributos antes de que eles tenham sidos declarados, já que a seguinte linha print( "data /{}".format(self)) está antes da declaração dos atributos. Basta colocar a linha do print
após a declaração dos atributos, o código ficará semelhante ao apresentado abaixo.
class data:
def __init__(self, dia, mes, ano ):
self.dia = dia
self.mes = mes
self.ano = ano
print("data {}/{}/{}".format(self.dia, self.mes, self.ano))
Para adicionar valores aos atributos, devemos criar um objeto da classe com esses valores, como por exemplo:
obj_data = data(5, 7, 2022)
Código completo
class data:
def __init__(self, dia, mes, ano ):
self.dia = dia
self.mes = mes
self.ano = ano
print("data {}/{}/{}".format(self.dia, self.mes, self.ano))
obj_data = data(5, 7, 2022)
Resultado da execução do código acima
data 5/7/2022
Fico à disposição em caso de dúvidas.
Abraços e bons estudos.
Muito obrigado pelo retorno, agora eu entendi.