allow you to code methods that do not expect instance objects in their first arguments such methods can act like simple instanceless functionswith names that are local to the classes in which they are codedand may be used to manage class data related concept we'll meet in the same the class methodreceives class when called instead of an instance and can be used to manage per-class dataand is implied in metaclasses these are both advanced and usually optional extensionsthough normallyan instance must always be passed to method--whether automatically when it is called through an instanceor manually when you call through class per the sidebar "what about super?on page in python also has super built-in function that allows calling back to superclass' methods more genericallybut we'll defer its presentation until due to its downsides and complexities see the aforementioned sidebar for more detailsthis call has well-known tradeoffs in basic usageand an esoteric advanced use case that requires universal deployment to be most effective because of these issuesthis book prefers to call superclasses by explicit name instead of super as policyif you're new to pythoni recommend the same approach for nowespecially for your first pass over oop learn the simple way nowso you can compare it to others later inheritance of coursethe whole point of the namespace created by the class statement is to support name inheritance this section expands on some of the mechanisms and roles of attribute inheritance in python as we've seenin pythoninheritance happens when an object is qualifiedand it involves searching an attribute definition tree--one or more namespaces every time you use an expression of the form object attr where object is an instance or class objectpython searches the namespace tree from bottom to topbeginning with objectlooking for the first attr it can find this includes references to self attributes in your methods because lower definitions in the tree override higher onesinheritance forms the basis of specialization attribute tree construction figure - summarizes the way namespace trees are constructed and populated with names generallyinstance attributes are generated by assignments to self attributes in methods class attributes are created by statements (assignmentsin class statements inheritance