description __dict__ gives the dictionary containing the namespace of class __doc__ gives the documentation string of the class if specified otherwiseit returns none __name__ gives the name of the class __module__ gives the name of the module in which the class is defined __bases__ gives the base classes in inheritance as tuple otherwiseit returns an empty tuple garbage collection python runs process in the background which frees an object from memory when it is no longer needed or if it goes out of scope this process is known as garbage collection python maintains reference count for each object in the memory the reference count increases when we create aliases or when we assign an object new name or place it in list or other data structure reference count decreases when an object goes out of scope and it becomes zero when the object is deleted using del keyword class methods class method is method which is marked with classmethod decorator and the first argument to the method is cls class method is called using the class name class methods are generally used as factory method to create instances of the class with the specified arguments example of class method is as followsclass boxdef __init__(selflb)self length self breadth def display(self)print("length of box is:"self lengthprint("breadth of box is:"self breadth@classmethod def createinstance(clslb)return cls(lbb box createinstance( , display(static methods static method is method marked with staticmethod decorator code that manipulates information or data of class is placed in static method static method does not depend on the state of the object static