E aí, Igor! Tudo bem?
Parabéns! Mantenha o ritmo nos exercícios e continue compartilhando na nossa comunidade.
Percebi que você praticou o uso de classes para modelar objetos, aplicou muito bem as listas como um atributo da classe para armazenar instâncias e ainda entendeu a relevância de f-strings para exibir dados formatados de forma clara e elegante.
Uma sugestão para evoluir ainda mais é usar métodos de instância com o objetivo de tornar o código mais orientado a objetos. Veja só:
class Musica:
musicas = []
def __init__(self, nome, artista, duracao):
self.nome = nome
self.artista = artista
self.duracao = float(duracao)
Musica.musicas.append(self)
def exibir(self):
return f'Nome: {self.nome}\nArtista: {self.artista}\nDuração: {self.duracao}s\n'
@classmethod
def listar_musicas(cls):
for musica in cls.musicas:
print(musica.exibir())
Musica('Ainda é cedo', 'Legião Urbana', 3.57)
Musica('Eu te Devoro', 'Djavan', 5.08)
Musica.listar_musicas()
Resultado:
Nome: Ainda é cedo
Artista: Legião Urbana
Duração: 3.57s
Nome: Eu te Devoro
Artista: Djavan
Duração: 5.08s
Essa abordagem ajuda a manter a responsabilidade de exibição dentro da própria instância, promovendo encapsulamento e clareza.
Para saber mais:
Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:
Fico à disposição! E se precisar, conte sempre com o apoio do fórum.
Abraço e bons estudos!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!