print("rent{}format(self rent)print("estimated utilities{}formatself utilities)print("furnished{}format(self furnished)def prompt_init()return dictrent=input("what is the monthly rent")utilities=input"what are the estimated utilities")furnished get_valid_input"is the property furnished"("yes""no"))prompt_init staticmethod(prompt_initthese two classes don' have superclass (other than object)but we still call super(__init__ because they are going to be combined with the other classesand we don' know what order the super calls will be made in the interface is similar to that used for house and apartmentwhich is very useful when we combine the functionality of these four classes in separate subclasses for exampleclass houserental(rentalhouse)def prompt_init()init house prompt_init(init update(rental prompt_init()return init prompt_init staticmethod(prompt_initthis is slightly surprisingas the class on its own has neither an __init__ nor display methodbecause both parent classes appropriately call super in these methodswe only have to extend those classes and the classes will behave in the correct order this is not the case with prompt_initof coursesince it is static method that does not call superso we implement this one explicitly we should test this class to make sure it is behaving properly before we write the other three combinationsinit houserental prompt_init(enter the square feet enter number of bedrooms enter number of baths is the yard fenced(yesnono is there garage(attacheddetachednonenone how many stories what is the monthly rent what are the estimated utilities