Предположим, я определяю класс A
с мета-классом, например так:
class Meta(type):
pass
class A(metaclass=Meta):
pass
Затем, когда я пытаюсь получить доступ к имени класса A
, я получаю имя мета-класса:
A.__class__.__name__
# 'Meta'
Однако, разве это не должно дать мне A
, мой определенный класс?
Примечание: Я пытался использовать A.__mro__[0].__name__
, и это даетменя A
, но я все еще не понимаю, почему A.__class__
дает мне имя мета-класса.У кого-нибудь есть объяснение этому?