Python 什么是元类的实例化

Python 什么是元类的实例化,python,oop,metaclass,Python,Oop,Metaclass,类实例化可以从元类中得到什么?据我所知,通常像\uuuuu init\uuuuuu,\uu del\uuuu,\uuuu call\uuuuuu这样的方法都来自默认的元类类型。这是正确的吗?我们不应该谈论继承,而应该谈论实例化。类与其元类的关联方式与实例与其基类的关联方式相同。类是元类的实例 特别是,在元类上定义的每个字段都可以作为“元类字段”从类中访问。因此,如果一个元类用于多个类,那么元类上的字段将在这些类之间共享 请注意,元类上的\uuuuu init\uuuu与类上的\uuuuuuu i

类实例化可以从元类中得到什么?据我所知,通常像
\uuuuu init\uuuuuu
\uu del\uuuu
\uuuu call\uuuuuu
这样的方法都来自默认的元类
类型
。这是正确的吗?

我们不应该谈论继承,而应该谈论实例化。类与其元类的关联方式与实例与其基类的关联方式相同。类是元类的实例

特别是,在元类上定义的每个字段都可以作为“元类字段”从类中访问。因此,如果一个元类用于多个类,那么元类上的字段将在这些类之间共享

请注意,元类上的
\uuuuu init\uuuu
与类上的
\uuuuuuu init\uuuu
不同。这些都是无关的。另外,
\uuuuuuu调用
成为一个新的“构造函数”。看看这个:

>>> class Meta(type):
...     def __call__(self):
...         return 1

>>> class Foo(metaclass=Meta):
...     pass

>>> Foo()
1

我们不应该谈论继承,而应该讨论实例化。类与其元类的关联方式与实例与其基类的关联方式相同。类是元类的实例

特别是,在元类上定义的每个字段都可以作为“元类字段”从类中访问。因此,如果一个元类用于多个类,那么元类上的字段将在这些类之间共享

请注意,元类上的
\uuuuu init\uuuu
与类上的
\uuuuuuu init\uuuu
不同。这些都是无关的。另外,
\uuuuuuu调用
成为一个新的“构造函数”。看看这个:

>>> class Meta(type):
...     def __call__(self):
...         return 1

>>> class Foo(metaclass=Meta):
...     pass

>>> Foo()
1

因此,
\uuuuuu init\uuuuuu
\uuuu del\uuuuu
\uuuu new\uuuuuuu
在默认的元类
类型
上定义为其元类字段。我说的对吗?@RavinduShantha是的。所以
\uuuu init\uuuuuuu
\uu del\uuuuuuuuu
\uuuu new\uuuuuuuuuu
在默认的元类
类型上定义为它的元类字段。“我说得对吗?”拉文杜珊莎说,是的。