是否可以创建一个实例为类的类?
起初这似乎是可能的,但我想知道在没有任何外部干扰的情况下这是否真的可行。 例如:
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 分钟左右开始谈论元类。
关于Python:类实例是类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30144505/