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

Resolução

Comparando as resoluções, vi que a do instrutor atribuiu aspas após vazias ao nome e artista e 0 a duração. É realmente necessário?

Meu código estaria errado? Obrigado!

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

    def __str__(self):
        return f'Nome da música: {self.nome} |  Nome do artista: {self.artista} | Duração: {self.duracao}'
    
musica1 = Musica('Pense em mim', 'Leonardo', 500)
musica2 = Musica('Tempo de alegria', 'Ivete', 400)

print(musica1)
print(musica2)
1 resposta
solução!

Bom dia, Mitsuyoshi! Tudo bem com você?

Seu código está correto, o uso dos valores padrões neste caso é opcional e não impede o funcionamento correto do código.

Gostaria de aproveitar a oportunidade e fazer uma breve revisão sobre os atributos com valores padrões no Python. Os atributos com valores padrões são aqueles que possuem um valor pré-definido no método __init__ da classe, ou seja, se o valor não for informado ao criar uma instância da classe, o Python usará esse valor padrão automaticamente.

No exemplo da atividade temos três atributos: nome, artista e duracao. Todos eles têm valores padrões definidos, dessa forma se uma música for criada sem informar esses valores, o Python vai usar os valores definidos no __init__, como mostrado abaixo:

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

musica = Musica()
print(musica.nome)  # Vai exibir ''
print(musica.duracao)  # Vai exibir 0

Esse recurso é útil para fornecer flexibilidade na criação de objetos, permitindo que você crie instâncias com ou sem parâmetros, evitando possíveis erros caso algum valor não seja passado.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado