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: