on instanceseven though their names don' appear in instance namespace dictionaries properties and descriptors are associated with instances toobut they don' reserve space in the instancetheir computed nature is much more explicitand they may seem closer to class-level methods than instance data as we'll see in the next slots function like instance attributesbut are created and managed by automatically created items in classes they are relatively infrequently used new-style class optionwhere instance attributes are declared in __slots__ class attributeand not physically stored in an instance' __dict__in factslots may suppress __dict__ entirely because of thistools that display instances by scanning their namespaces alone won' directly associate the instance with attributes stored in slots as islisttree displays slots as class attributes wherever they appear (though not at the instance)and listinstance doesn' display them at all though this will make more sense after we study this feature in the next it impacts code here and similar tools for exampleif in textmixin py we assign __slots__=['data 'in super and __slots__=['data 'in subonly the data attribute is displayed in the instance by these two lister classes listtree also displays data and data but as attributes of the super and sub class objects and with special format for their values (technicallythey are class-level descriptorsanother new-style tool introduced in the next as the next will explainto show slot attributes as instance namestools generally need to use dir to get list of all attributes--both physically present and inherited--and then use either getattr to fetch their values from the instanceor fetch values from their inheritance source via __dict__ in tree scans and accept the display of the implementations of some at classes because dir includes the names of inherited "virtualattributes--including both slots and properties--they would be included in the instance set as we'll also findthe mro might assist here to map dir attribute to their sourcesor restrict instance displays to names coded in user-defined classes by filtering out names inherited from the built-in object listinherited is immune to most of thisbecause it already displays the full dir results setwhich include both __dict__ names and all classes__slots__ namesthough its display is of marginal use as is listtree variant using the dir technique along with the mro sequence to map attributes to classes would apply to slots toobecause slots-based names appear in class' __dict__ results individually as slot management toolsthough not in the instance __dict__ alternativelyas policy we could simply let our code handle slot-based attributes as it currently doesrather than complicating it for rarely usedadvanced feature that' even questionable practice today slots and normal instance attributes are different kinds of names in factdisplaying slots names as attributes of classes instead of instances is technically more accurate--as we'll see in the next their implementation is at classesthough their space is at instances designing with classes