Python a-z

Twoje centrum interaktywnej nauki Pythona: fiszki, przykłady kodu i edytor w przeglądarce.

Poziom: zaawansowany Fiszka #135 · Python

Czym jest i jak używać `__slots__` w Pythonie?

💡 Wskazówka do nauki: Zanim odsłonisz odpowiedź poniżej, spróbuj samodzielnie sformułować definicję lub napisać krótki przykład kodu w głowie (albo w naszym edytorze online).

Pokaż odpowiedź i przykład kodu

Opis i wyjaśnienie:

`__slots__` to atrybut klasy, który definiuje listę nazw atrybutów, które instancja klasy może mieć. Używanie `__slots__` może zwiększyć wydajność i zmniejszyć zużycie pamięci.

Przykład w Pythonie:

class P:
    __slots__ = ("x", "y")
    def __init__(self):
        self.x = 1; self.y = 2
p = P()
# p.z = 3  # AttributeError