Programador Leigo
⚡ 60 segundos classes

__slots__: economizar memória em classes Python

__slots__ substitui o __dict__ da instância por uma estrutura fixa. Usa menos memória e é mais rápido para muitos objetos.

slots.py
class Ponto:
    __slots__ = ('x', 'y')

    def __init__(self, x, y):
        self.x = x
        self.y = y

p = Ponto(3, 4)
print(p.x, p.y)  # 3 4

# Nao permite atributos extras
# p.z = 5  # AttributeError!

# Sem __dict__ = menos memoria por instancia

Compartilhar