1
resposta

[Projeto] Resolução do problema de Pyhton: Orientação a objetos

realizei da seguinte forma:

class Data:
    def __init__(self,dia,mes,ano):
        print("construindo objeto...{}".format(self))
        self.dia = dia
        self.mes = mes
        self.ano = ano

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

e o resultado foi:

>>> d = Data(21,11,2007)
construindo objeto...<data.Data object at 0x000002C2E32644D0>
>>> d.formatada()
21/11/2007
1 resposta

Olá Gabriel, tudo bem com você?

Meus parabéns pelo seu empenho. Fico feliz que tenha compartilhado a resolução do desafio com a comunidade do fórum Alura, ele atende bem o que foi proposto.

Aproveitando essa oportunidade deixou uma dica para implementação do método formatada, através da formatação de string podemos manipular os valores do dia e mês para sejam impressos em um padrão determinado, para que isso seja possível os valores fornecidos no momento da criação do objeto data deverão ser do tipo int, deixo abaixo um exemplo de formatação:

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

No exemplo acima o :02d adicionado entre as chaves { } formata um inteiro (d) para um campo de largura mínima 2 (2), com preenchimento de zero à esquerda, quando a largura mínima de dois caracteres não for atendida. Então, caso passássemos a data 1/3/2023, seria preenchido com zeros a esquerda, como apresentado abaixo:

class Data:
    def __init__(self, dia, mes, ano):
        print("construindo objeto...{}".format(self))
        self.dia = dia
        self.mes = mes
        self.ano = ano

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

No python console

from datas import Data
d = Data(1, 3, 2023)
d.formatada()

Resultado

construindo objeto...<datas.Data object at 0x0000020C37B8E9D0>
01/03/2023

Para conhecer um pouco mais sobre a formatação de string recomendo a leitura do seguinte artigo que irá abordar com mais detalhes sobre as possibilidades de formatação de string:

O conteúdo recomendado acima está em inglês, o uso da língua inglesa é bem comum na área de tecnologia, mas não se preocupe, caso não tenha afinidade com essa linguagem, recomendo que utilize o tradutor do navegador para uma melhor compressão.

Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Fico à disposição.

Abraços e bons estudos!