๐ŸŽ New User? Get 20% off your first purchase with code NEWUSER20 ยท โšก Instant download ยท ๐Ÿ”’ Secure checkout Register Now โ†’
Menu

Categories

Python Advanced

What is Slots?

A class mechanism that restricts attribute creation and reduces memory usage by using a fixed set of instance variables.

By default, Python objects store attributes in a __dict__ dictionary. __slots__ replaces this with a fixed tuple of allowed attributes: class Point: __slots__ = ('x', 'y'). This prevents adding arbitrary attributes and significantly reduces memory per instance.

Benefits include 30-40% memory reduction for classes with many instances, faster attribute access, and preventing typos in attribute names. Trade-offs include no __dict__, no multiple inheritance with different __slots__, and no dynamic attributes.

Related Terms

List Comprehension
A concise syntax for creating new lists by applying an expression to each item in an existing iterable.
Python ABC Module
The Abstract Base Classes module that enables defining interfaces and abstract methods that subclasses must implement.
Python Context Variable
A variable that maintains separate values for each execution context, enabling implicit state passing in async code without global variables.
Flask
A lightweight web framework for Python that provides essentials for building web applications without imposing structure.
Python Package
A directory containing Python modules and an __init__.py file, providing a way to organize and distribute reusable code.
Enum
A built-in class for creating enumerated constants โ€” named groups of related values that improve code readability.
View All Python Terms โ†’