Какова цель подкласса экземпляра класса в Python? Вот пример:Какова цель использования экземпляра класса в качестве супер/базового класса?
class A:
def __init__(*args): print(args)
base = A()
class Test(base): pass
Этот код работает нормально в Python, но base
является экземпляром класса A
(1) Почему мы должны создать подкласс экземпляра класса?Связано это с метаклассами?
С этого вопроса: What happens when you inherent from a module instead of a class in Python?
Я понимаю, что Test(base)
станет type(base).__init__
(2) это происходит во время определения, когда определяется класс? (3) Как Python знает/принимает решение о том, что base
является экземпляром класса? Это потому, что type(base)
не возвращается type
?
У вас есть фактический код производственного кода, который делает это или это просто любопытство? –
Любопытство и желание сделать рациональное мышление о функции :-) – direprobs
И нет, 'Test (base)' не становится 'типом (базой) .__ init__'. Он становится 'type (base) .__ new__', который, в свою очередь, может называть' __init__'. И да, это из-за метаклассов. –