Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

implemente o codigo, porem nao consigo atribuir o dia mes e ano. o que estou errando ?

segue codigo:

class data:
    def __init__(self, dia, mes, ano ):
        print( "data /{}".format(self))
        self.dia = dia
        self.mes = mes
        self.ano = ano
2 respostas
solução!

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.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Muito obrigado pelo retorno, agora eu entendi.