Python:类实例是类

标签 python class python-3.x

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

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

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/

相关文章:

python - 使用 Pool().apply_async 进行大型计算期间的多处理死锁

python - 通过最小化迭代次数来改进代码

java - 节点无法解析为类型

c++ - 我正在编码 Node 结构,我认为这是构造函数初始化错误

Java - 一个文件中的代码和另一文件中的设计(无法识别的 actionPerformed 事件)

python-3.x - 从整数列表中查找偶数之和

python - 如何修剪 .fits 图像并保持世界坐标以便在 astropy Python 中绘图?

python - 安装 "elasticsearch"而不是 "pyelasticsearch"

Python Paramiko SFTP 获取文件以及文件时间戳/统计信息

python - 按顺序将两个不同列表中的值分配给Python中数据帧中的列