Skip to main content
 首页 » 编程设计

Python:类实例是类

2025年05月04日12birdshome

是否可以创建一个实例为类的类?

起初这似乎是可能的,但我想知道在没有任何外部干扰的情况下这是否真的可行。 例如:

NewClass = ClassClass(someArgs) 
instance = NewClass(someOtherArgs) 

这可能吗?如果是这样,它在结构上将如何运作?这还有用吗?

请您参考如下方法:

如果检查 1 的类型,您会得到 type(1) == int。如果您检查 int 的类型,您会得到 type(int) == type。

实例为类的类称为元类,在 Python 中,您可以通过继承 type 来创建元类。

class ClassClass(type): 
    pass 

技术上 collections.namedtuple 是一个元类,但它实际上是 cheating .

有一个很棒的PyCon talk by David Beazly about metaprogramming in Python .它很长,但非常有趣。他在 27 分钟左右开始谈论元类。