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 mostrar(self):
    print(f'Música: {self.nome.ljust(25)} | Banda: {self.artista.ljust(25)} | {self.duracao} segundos')

playlist = [
    Musica('Bohemian Rhapsody', 'Queen', 355),
    Musica('Every Breath You Take', 'The Police', 208),
    Musica('Shape of You', 'Ed Sheeran', 233)
]

for musica in playlist:
    musica.mostrar()

Resultado:

Música: Bohemian Rhapsody         | Banda: Queen                     | 355 segundos
Música: Every Breath You Take     | Banda: The Police                | 208 segundos
Música: Shape of You              | Banda: Ed Sheeran                | 233 segundos
1 resposta

Bom dia, Talita! Como está?

Incrível! Continue resolvendo os desafios e compartilhando com a comunidade Alura.

Notei que você utilizou o conceito de classes para organizar os dados musicais, aplicou de forma eficaz o método personalizado mostrar() para controlar a exibição formatada das músicas e compreendeu a importância do laço for para percorrer objetos.

Um próximo passo interessante seria explorar o uso do método __str__ para permitir que a própria classe controle sua apresentação textual ao ser exibida diretamente. Veja o exemplo:

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

    def __str__(self):
        return f'Música: {self.nome.ljust(25)} | Banda: {self.artista.ljust(25)} | {self.duracao} segundos'

playlist = [
    Musica('Bohemian Rhapsody', 'Queen', 355),
    Musica('Every Breath You Take', 'The Police', 208),
    Musica('Shape of You', 'Ed Sheeran', 233)
]

for musica in playlist:
    print(musica)

Resultado:

Música: Bohemian Rhapsody        | Banda: Queen                  | 355 segundos
Música: Every Breath You Take    | Banda: The Police             | 208 segundos
Música: Shape of You             | Banda: Ed Sheeran             | 233 segundos

Isso permite trabalhar com representações elegantes sem depender exclusivamente de métodos extras, o que pode ser muito útil para facilitar debugging ou exibição automática.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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