Programador Leigo
⚡ 60 segundos classes

Métodos mágicos: __len__, __str__ e __contains__

Métodos dunder permitem que suas classes funcionem com len(), print(), in e outros operadores do Python.

dunder.py
class Playlist:
    def __init__(self, nome, musicas):
        self.nome = nome
        self.musicas = musicas

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

    def __str__(self):
        return f'{self.nome} ({len(self)} musicas)'

    def __contains__(self, musica):
        return musica in self.musicas

p = Playlist('Rock', ['Song1', 'Song2'])
print(len(p))          # 2
print(p)               # Rock (2 musicas)
print('Song1' in p)    # True

Compartilhar