and but appears to have an issue in pythons and where it raises wrong-number-arguments exception internally for the objects displayed here since 've already devoted too much space to covering transitory python defectsand since this has been repaired in the versions of python used in this editionwe'll leave working around this in the suggested exercises column for readers running this on the infected pythonschange trace to simple prints as neededand mind the note on battery dependence in new-style class extensions beyond the changes described in the prior section (some of whichfranklymay seem too academic and obscure to matter to many readers of this book)new-style classes provide handful of more advanced class tools that have more direct and practical application--slotspropertiesdescriptorsand more the following sections provide an overview of each of these additional featuresavailable for new-style class in python and all classes in python also in this extensions category are the __mro__ attribute and the super callboth covered elsewhere--the former in the previous section to explore changeand the latter postponed until end to serve as larger case study slotsattribute declarations by assigning sequence of string attribute names to special __slots__ class attributewe can enable new-style class to both limit the set of legal attributes that instances of the class will haveand optimize memory usage and possibly program speed as we'll findthoughslots should be used only in applications that clearly warrant the added complexity they will complicate your codemay complicate or break code you may useand require universal deployment to be effective slot basics to use slotsassign sequence of string names to the special __slots__ variable and attribute at the top level of class statementonly those names in the __slots__ list can be assigned as instance attributes howeverlike all names in pythoninstance attribute names must still be assigned before they can be referencedeven if they're listed in __slots__class limiter(object)__slots__ ['age''name''job' limiter( age attributeerrorage advanced class topics must assign before use