1
resposta

[Sugestão] Mão na massa: classe música

class Musica:
    nome = ''
    artista = ''
    genero = ''
    duracao = ''

musica1 = Musica()
musica2 = Musica()
musica3 = Musica()

musica1.nome = 'Camisa 10'
musica1.artista = 'Turma do Pagode'
musica1.genero = 'Pagode'
musica1.duracao = 3.00

musica2.nome = 'Home'
musica2.artista = 'Michael Bublé'
musica2.genero = 'Pop'
musica2.duracao = 3.57

musica3.nome = 'Wonderwall'
musica3.artista = 'Oasis'
musica3.genero = 'Pop'
musica3.duracao = 4.18

lista_musicas = [vars(musica1), vars(musica2), vars(musica3)]
print(lista_musicas)
1 resposta

Olá, Roger! Tudo bem?

Gostei da sua construção da classe Musica e instanciar objetos dela. No entanto, para seguir as boas práticas de programação orientada a objetos, seria interessante adicionar um método construtor (__init__) à sua classe. Isso tornará a criação dos objetos mais organizada e eficiente. Vou mostrar um exemplo de como você pode fazer isso:

class Musica:
    def __init__(self, nome, artista, genero, duracao):
        self.nome = nome
        self.artista = artista
        self.genero = genero
        self.duracao = duracao

# Instanciando os objetos com o método construtor
musica1 = Musica('Camisa 10', 'Turma do Pagode', 'Pagode', 3.00)
musica2 = Musica('Home', 'Michael Bublé', 'Pop', 3.57)
musica3 = Musica('Wonderwall', 'Oasis', 'Pop', 4.18)

# Criando a lista de músicas
lista_musicas = [vars(musica1), vars(musica2), vars(musica3)]
print(lista_musicas)

Com esse método construtor, você pode inicializar os atributos da classe diretamente ao criar os objetos, o que torna o código mais limpo e fácil de entender.

Bons estudos!