Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Classe música

Dessa forma também estaria correto?

class musica:
  nome = ''
  artista = ''
  duração = float

musica_estilo = musica()
musica_estilo.nome = 'Sou um programador'
musica_estilo.artista = 'Capossi'
musica_estilo.duração = 4.30
2 respostas
solução!

Olá, Erickson! Tudo bem?

Sua ideia está correta, porém, há alguns detalhes que precisamos ajustar.

Em Python, é uma prática comum definir os atributos de uma classe dentro do método construtor __init__. Isso permite que, quando um objeto dessa classe for criado, os atributos sejam inicializados com valores padrão ou com valores passados na criação do objeto.

Além disso, em Python, as classes começam geralmente com uma letra maiúscula. Então, sua classe seria melhor definida assim:

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

Espero ter ajudado e bons estudos!

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

Olá, Erickson!

Complementando a orientação do Armano, você pode usar parâmetros passados para o construtor para atribuí-los aos atributos da classe Musica() assim que o objeto for criado, reduzindo assim o número de linhas que terá que escrever.

Além disso, pode definir valores padrão para tais parâmetros. Assim, quando o objeto for criado tanto preenchendo os parâmetros quanto sem preencher os parâmetros, como no exemplo abaixo, não ocorrerá erro.

Ficaria assim:

class Musica:
    def __init__(self, nome = 'Teste', artista = 'Teste', duracao = 0.0):
        self.nome = nome
        self.artista = artista
        self.duracao = duracao
        
musica_estilo1 = Musica('Sou um programador', 'Capossi', 4.30)
musica_estilo2 = Musica()

print(musica_estilo1.nome, musica_estilo1.artista, musica_estilo1.duracao, sep = ', ')
print(musica_estilo2.nome, musica_estilo2.artista, musica_estilo2.duracao, sep = ', ')

A saída dos dois print()'s será:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software