3
respostas

Feito

class Data(): def init(self, n1, n2, n3): self.n1 = n1 self.n2 = n2 self.n3 = n3

def formatada(self):
    print(f'{self.n1}/{self.n2}/{self.n3}')

d = Data(21,11,2007) d.formatada()

3 respostas

Seria interessante usar os nomes das variáveis semânticamente ao invés de variáveis "descartáveis" onde o nome não tem importância - mas no método construtor geralmente sempre tem - no Python e em outras linguagens você vai ter essa "referência" para acessar depois (acessar um objeto depois de semanas, ou outro programador, pode ser super confuso!)

Se por acaso eu quisesse depois de instânciar minha Classe acessar os valores seria um pouco estranho:

### Dificil de entender o que se refere o n1, n2, n3
dia = d.n1
mes = d.n2
ano = d.n3
#Semânticamente faria mais sentido
data = Data(21,11,2009)
data.formadatada
#Se eu quiser acessar o objeto o nome tornaria mais legível
dia = data.dia
mes = data.mes
ano = data.ano
#Um exemplo mais prático

if d.n1 == 2021:
    print("Ano atual")

if data.ano == 2021:
    print("Ano atual!")

Oii Edson, tudo bem?

Obrigada pela paciência em esperar um retorno :)

Muito bom! Parabéns por ter desenvolvido o desafio que foi proposto no curso. Fico feliz que tenha compartilhado com a comunidade do fórum da Alura, assim, podemos ver seu desenvolvimento e ideias de implementação e seu código pode ainda ajudar os outros estudantes da plataforma :)

Uma dica de outra maneira que você pode implementar a sua data na sua função formatada() é através da formatação de string, em que podemos colocar a saída para um padrão determinado por nós, como mostrado no código abaixo:

def formatada(self):
    print("{:02d}/{:02d}/{}".format(self.dia, self.mes, self.ano))

Resultado:

>>>data_teste = Data(1,9,2022)
>>>data_teste.formatada()
>>>01/09/2022

Nesse caso, o valor de formatação deve ser um inteiro (tipo int, definido como “d”), em que o :02d determina um campo de tamanho mínimo dois, em que o ‘0’ (zero) indica que se não houver pelo menos duas casas no número, ele será preenchido com um zero na esquerda dele, como ocorreu no exemplo acima.

Caso queira saber mais sobre formatação de strings, recomendo a leitura da documentação do Python sobre Entrada e Saída e se deseja se aprofundar mais ainda sobre a Linguagem Python, recomendo a formação Python e orientação a objetos na alura!

Muito obrigada por ter compartilhado seu código!

Grande abraço e bons estudos!

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

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software