1
resposta

Refatorando uma função

class Musica:
    musicas = []
    def __init__(self, nome, artista, duracao_segundos):
        self.nome = nome
        self.artista = artista
        self.duracao_segundos = duracao_segundos
        Musica.musicas.append(self)
    def __str__(self):
        return f'{self.nome}, {self.artista}, {self.duracao_segundos}s' 
    
    def listar_restaurantes():
        for m in Musica.musicas:
            print(f'Música: {m.nome}, Artista: {m.artista}, Duração: {m.duracao_segundos}s')

musica1 = Musica('BRAZIL', 'Kyan', 124)
musica2 = Musica('Vida Chique', 'Veigh', 210)
musica3 = Musica('Maturidade', 'KayBlack', 142)

Musica.listar_restaurantes()

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Paulo! Como vai?

Agradeço por compartilhar.

Gostei do seu código, ficou bem organizado e já mostra o uso do construtor para instanciar objetos da classe. Só notei que o método listar_restaurantes está com um nome diferente do que ele realmente faz. Como o objetivo é listar músicas, seria interessante renomear para algo como listar_musicas.

Continue praticando, você está indo muito bem.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!