multiset('spam' set:[' '' '' '' ''join( 'super''spamuer( 'super'multiset('slots'set:[' 'string sets class tree links here is the way changed the lister classesand rerun of the test to show its format do the same for the dir-based versionand also do this when formatting class objects in the tree climber variantclass listinstancedef __attrnames(self)unchanged def __str__(self)return 'self __class__ __name__my class' name self __supers()my class' own supers id(self)my address self __attrnames()name=value list def __supers(self)names [for super in self __class__ __bases__names append(super __name__return 'join(namesone level up from class namenot str(superor'join(super __name__ for super in self __class__ __bases__c:\codepy listinstance-exercise py <instance of sub(superlistinstance)address data =spam data =eggs data = composition my solution is as follows (file lunch py)with comments from the description mixed in with the code this is one case where it' probably easier to express problem in python than it is in englishclass lunchdef __init__(self)make/embed customeremployee self cust customer(self empl employee(def order(selffoodname)start customer order simulation self cust placeorder(foodnameself empldef result(self)ask the customer about its food self cust printfood(class customerdef __init__(self)self food none initialize my food to none part viclasses and oop