Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

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

No Python, a criação de classes é uma parte essencial da programação orientada a objetos. Abaixo, temos um exemplo de uma classe chamada Musica que representa informações sobre uma música, como nome, artista e duração:

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

Agora é sua vez! Refaça essa classe Musica utilizando uma forma mais concisa e expressiva, aproveitando a sintaxe simplificada do Python.

class Musica:
    musicas = []

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

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

classic_rock = Musica(nome='Yellow Submarine',artista= 'Beatles',duracao= 154)
classic_opera = Musica(nome='Moonlight Sonata',artista= 'Beethoven',duracao= 370)

print(f'Musica:{classic_rock}')
print(f'Musica:{classic_opera}')
Musica: Yellow Submarine: | Beatles: | 154
Musica: Moonlight Sonata: | Beethoven: | 370
1 resposta
solução!

Oi, Carlos! Como vai?

Agradeço por compartilhar.

A sua implementação ficou bem organizada. Você utilizou corretamente o método __init__ pra inicializar os atributos da classe e ainda criou uma lista de classe musicas pra armazenar todas as instancias criadas, o que mostra um bom entendimento de como objetos podem ser gerenciados dentro da classe. Outro ponto interessante foi o uso do metodo __str__, que facilita a exibição das informações da musica quando o objeto e impresso.

Você pode usar o método len() pra descobrir quantas músicas foram criadas e armazenadas na lista da classe.


class Musica:

    musicas = []

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

print(len(Musica.musicas))

Esse código usa len() pra contar quantos objetos foram adicionados na lista Musica.musicas, permitindo acompanhar facilmente quantas musicas foram cadastradas no programa.

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