Python’s __slots__ module provides a way to declare a named slot in an object. A slot is an immutable attribute that can hold any type of object.
When a Python object is created, the __slots__ module looks for a declaration for a named slot called __name__ . If the declaration is found, the object’s __name__ attribute is set to the name of the slot, and the object’s contents are inserted into the slot.
If no declaration is found for the named slot, then a new unnamed slot is created and initialized to an empty object. The __slots__ module also provides a way to access an object’s contents through its __name__ attribute.
For example, if you want to print out the contents of an object named myobj , you can use myobj.__name__ :.
print(myobj.__name__)
This prints out “myobj” .