在Python 3.1中,builtins
模块中有一个我不知道的新内置函数:
__build_class__(...)
__build_class__(func, name, *bases, metaclass=None, **kwds) -> class
Internal helper function used by the class statement.
这个功能有什么作用?如果它是内部的,为什么必须在内置? type(name, bases, dict)
函数有什么区别?
答案 0 :(得分:21)
编译PEP 3115元类
PEP建议上课 语句接受关键字参数,
*args
和**kwds
语法以及位置基础。这有点乱 编译和执行,但我们已经 当然,在代码中有这个 调用常规函数。所以我认为这是可以接受的 这成了一个新的(隐藏)调用 内置函数,命名
__build_class__
。然后就是这个类的定义:class C(A, B, metaclass=M, other=42, *more_bases, *more_kwds): ...
会转化为:
C = __build_class__(<func>, 'C', A, B, metaclass=M, other=42, *more_bases, *more_kwds)
其中
<func>
是一个函数对象 班主体。