1
resposta

Mão na massa: refatorando uma função

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}' 

musica_01 = Musica('Test01', 'Test02', 220)
print(musica_01)
1 resposta

Oi, Gabriel! Como vai?

Sua classe Musica ficou clara e bem estruturada, e a sobrescrita do método __str__ deixou a exibição das informações muito mais legível. Isso ajuda bastante na hora de testar ou visualizar os dados.

Uma dica interessante para o futuro é usar o método __repr__ quando quiser uma representação mais técnica e útil para depuração. Veja este exemplo:


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

    def __repr__(self):
        return f"Musica('{self.nome}', '{self.artista}', {self.duracao})"

Esse repr facilita identificar os dados internos quando você imprime listas de objetos, por exemplo.

Alura Conte com o apoio da