类与其关联元类的关系的命名法是什么?

mut*_*oid 2 python terminology metaclass python-3.x

我们将类与其关联元类的关系称为什么?

我想在以下两行中填空:

  • A类是B类的元类。
  • B类是A类的____。

在该类的文档中,我正在记录我目前正在编写的元类。我发现自己经常在 python 文档字符串中输入“与此元类关联的类”。有没有一个词可以更简洁地表示这种关系?

我想使用更简洁的命名法的浓缩示例:

def __init__(mcl, what, bases=None, dict=None):
  """
  Raises an exception if >> the class associated to this metaclass << 
  contains a valid set of configuration decorators.
  ...
  """
Run Code Online (Sandbox Code Playgroud)

che*_*ner 5

术语“元类”本身已经捕获了您正在寻找的大部分关系。元类并不是什么特别的东西。它只是另一种类型。“魔术”是这种类型的实例也恰好是类型。(什么是类型?它只是一个为对象提供方法的类。)

如果有的话,是特殊的东西。您可以想象存在元元类:实例是元类的类型,其实例是类。你可以建立一个这样的元元......类的无限层次结构。(实际上,这在 Python 中不存在。根元类type将自身作为自己的元类,而不是其他一些高阶元元类。)因此,类是唯一的,因为它的实例不能同时用作唯一类型类型。

您正在寻找的关系只是“B 类是(元)A 类的一个实例”。

(我在这里所说的一切都不应被视为与jsbueno 的回答相矛盾;我认为这只是一个不同的观点。)