Challenge: Inspecting Class Hierarchies
When you want to understand how Python classes and metaclasses relate, you can use the __class__ attribute and the type() function. Every object in Python has a __class__ attribute that points to its class. For classes themselves, __class__ refers to the metaclass, which is usually type unless a custom metaclass is specified. The type() function, when called on an object, returns its class; when called on a class, it returns its metaclass. To explore the base classes of a class, you can use the __bases__ attribute, which is a tuple of the class's immediate parent classes. By combining these tools, you can inspect class hierarchies and metaclass relationships for both user-defined and built-in types.
Swipe to start coding
Write a function that takes a single argument obj.
- Print the class of
objin the format<class 'module.qualname'>. - Print the base classes of
obj's class, or "N/A" ifobjis an instance of a built-in type. - Print the metaclass of
obj's class.
Use the __class__ attribute to get the class of an object. Only print the base classes if the object's class is not a built-in type. The metaclass of a class can be accessed using the __class__ attribute of the class itself.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Großartig!
Completion Rate verbessert auf 4.76
Challenge: Inspecting Class Hierarchies
Swipe um das Menü anzuzeigen
When you want to understand how Python classes and metaclasses relate, you can use the __class__ attribute and the type() function. Every object in Python has a __class__ attribute that points to its class. For classes themselves, __class__ refers to the metaclass, which is usually type unless a custom metaclass is specified. The type() function, when called on an object, returns its class; when called on a class, it returns its metaclass. To explore the base classes of a class, you can use the __bases__ attribute, which is a tuple of the class's immediate parent classes. By combining these tools, you can inspect class hierarchies and metaclass relationships for both user-defined and built-in types.
Swipe to start coding
Write a function that takes a single argument obj.
- Print the class of
objin the format<class 'module.qualname'>. - Print the base classes of
obj's class, or "N/A" ifobjis an instance of a built-in type. - Print the metaclass of
obj's class.
Use the __class__ attribute to get the class of an object. Only print the base classes if the object's class is not a built-in type. The metaclass of a class can be accessed using the __class__ attribute of the class itself.
Lösung
Danke für Ihr Feedback!
single