Python 类继承中的参数有什么用?

在浏览 django_filters 库的源代码时,我发现了一种我以前从未见过的类声明语法:带参数的继承。我在官方 python 类教程中找不到解释。

这是源代码,片段如下:

class FilterSet(BaseFilterSet, metaclass=FilterSetMetaclass):
    pass

类定义中的metaclass=FilterSetMetaclass是做什么的?


吃鸡游戏
浏览 135回答 1
1回答

慕容708150

基类列表中的关键字参数有两种用途。该metaclass参数专门用于指示type要使用哪个元类(而不是 )来创建类。(在 Python 2 中,这是通过为语句__metaclass__主体中的类属性赋值来完成的。)classclass语句本质上是对元类的调用。class Foo(metaclass=Bar):     pass相当于Foo = Bar('Foo', (), {})。默认元类是type,即class Foo():     pass相当于class Foo(metaclass=type):     pass其他关键字参数传递给__init_subclass__.以上都是简化;有关更多详细信息,请参阅自定义类创建。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python