1
resposta

Dúvida com dunder method __add__

Boa noite.

Executei os códigos conforme o curso, mas quis realizar alguns testes.

Queria testar o dunder method add

Instanciei a classe Playlist, exatamente da mesma forma que tá ensinado no curso, passando no segundo parâmetro uma lista, trazendo dois elementos

Na classe Playlist, também montei um dunder method add da seguinte forma:

    def __add__(self, programa_adicionado):
        self._programas.append(programa_adicionado)

E logo em seguida, o comando:

minha_playlist += atlanta

Nota: já havia criado os objetos atlanta, demolidor e vingadores

Usei o append, pois imaginar que por estar manipulando uma lista, funcionaria.

Acontece que a variável tipo lista que passei como argumento ao instanciar a Playlist foi modificada e inseriu certinho a série atlanta

Entretanto o objetivo minha_playlist ficou como {NoneType}

Tentei entender, mas confesso que minha cabeça deu um nó kkkkk

O que aconteceu? Queria entender melhor onde errei e qual seria a maneira correta de ter feito isso.

Código completo da classe Playlist:

class Playlist:
    def __init__(self, nome, programas):
        self.nome = nome
        self._programas = programas

    def __getitem__(self, item):
        return self._programas[item]

    def __len__(self):
        return len(self._programas)

    def __add__(self, programa_adicionado):
        self._programas.append(programa_adicionado)

Print do log do Pycharm: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
O post foi fechado por inatividade após 3 meses. Para continuar o assunto, recomendamos criar um novo tópico. Bons Estudos!