1
resposta

Resolução: refatorando uma função

class Music:
    musics = []

    def __init__(self, name, category, band, duration, avaliation):
        self.name = name
        self.category = category
        self.band = band
        self.duration = duration
        self.avaliation = avaliation
        Music.musics.append(self)

    def Music_list():
        for music in Music.musics:
            print(f'{music.name} | {music.band} | {music.category} | {music.duration} | {music.avaliation} ')

    def __str__(self):
        return (f'{self.name} | {self.category} | {self.duration} | {self.duration} | {self.avaliation} ')


music_Confusion = Music('Confusion', 'Alice in Chains', 'Rock', '3:40', '5.0')
music_LoveHateLove = Music('LoveHateLove', 'Alice in Chains', 'Rock', '4:30', '5.0')

Music.Music_list()
1 resposta

Olá, Matheus! Tudo bem?

Parabéns por refatorar o código e aplicar Orientação a Objetos!

Achei excelente a lógica de usar Music.musics.append(self) dentro do __init__. Isso automatiza o registro das músicas na lista da classe sempre que um novo objeto é criado.

Continue praticando, POO fica cada vez mais interessante conforme avançamos!

Bons estudos!

Sucesso

Imagem da comunidade