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.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Génial!
Completion taux amélioré à 4.76
Challenge: Inspecting Class Hierarchies
Glissez pour afficher le menu
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.
Solution
Merci pour vos commentaires !
single