cl-6ren">
gpt4 book ai didi

python - Python 3 中的类 "keyword arguments"

转载 作者:行者123 更新时间:2023-11-28 16:39:31 29 4
gpt4 key购买 nike

我从 __build_class__ 的文档字符串中注意到了这一点:

__build_class__(func, name, *bases, metaclass=None, **kwds) -> class

Internal helper function used by the class statement.

让我感兴趣的部分是 **kwds 部分。类定义可以采用关键字参数吗?我试过了,但是我得到了一个非常奇怪的错误:

>>> class Test(a=1):
... pass
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: type() takes 1 or 3 arguments

这是怎么回事? Python 3 中的类能否以某种方式接受关键字参数?也许需要一个特殊的元类?

最佳答案

Can classes in Python 3 somehow accept keyword arguments?

是的。 class 语句中除 metaclass 之外的任何关键字参数都传递给元类。如果指定了 metaclass 参数,则它被用作元类;否则,元类是 type。参见 PEP 3115了解更多详情。

关于python - Python 3 中的类 "keyword arguments",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21360224/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com