Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Sugestão] refatorando uma função

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

musica1 = Musica(nome= 'Under Pressure', artista='Queen & David Bowie', duracao=248)
musica2 = Musica(nome='The Trooper', artista='Iron Maiden', duracao=245)
musica3 = Musica(nome='Hotel California', artista='Eagles', duracao=390)

print(musica1)
1 resposta

Oi, Apollo. Como vai?

Sua refatoração usando a classe Musica ficou bem organizada, e o uso do método __init__ ajuda a criar objetos com nome, artista e duracao de forma mais limpa.

Uma dica interessante para o futuro é usar o método __str__ para controlar o texto exibido ao usar print(musica1). Olha esse exemplo:

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

    def __str__(self):
        return f'{self.nome} - {self.artista} ({self.duracao} segundos)'

Esse método retorna uma descrição personalizada do objeto, evitando que o Python mostre apenas a referência da memória. Você pretende testar esse ajuste com as três músicas criadas?

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