Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Challenge: Inspecting Class Hierarchies | Metaclasses Fundamentals
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Python Metaclasses Demystified

bookChallenge: 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.

Tarefa

Swipe to start coding

Write a function that takes a single argument obj.

  • Print the class of obj in the format <class 'module.qualname'>.
  • Print the base classes of obj's class, or "N/A" if obj is 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.

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 2
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

Can you give an example showing how to use `__class__`, `type()`, and `__bases__`?

What is a metaclass, and when would I use a custom one?

How do these concepts apply to built-in types like `int` or `list`?

close

bookChallenge: Inspecting Class Hierarchies

Deslize para mostrar o 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.

Tarefa

Swipe to start coding

Write a function that takes a single argument obj.

  • Print the class of obj in the format <class 'module.qualname'>.
  • Print the base classes of obj's class, or "N/A" if obj is 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.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 2
single

single

some-alt