为什么str.split不采取关键字参数?(Why does str.split not take

2019-06-26 15:23发布

我遇到了这一点 - 在我看来 - 奇怪的现象:

"a b c".split(maxsplit=1)
TypeError: split() takes no keyword arguments

为什么str.split()不采取关键字参数,即使它有意义吗? 我发现无论是在Python2和Python3这种行为。

Answer 1:

见这个bug和它的superseder 。

str.split()是在CPython的本机函数,并且因此表现出所述的行为这里 :

CPython的实现细节:一个实现可提供内置的功能,其位置参数没有名字,即使他们“命名为”对文档的目的,并因此无法通过关键字来提供。 在CPython的,这对于使用在C语言实现的功能的情况下PyArg_ParseTuple()来解析它们的参数。



Answer 2:

str.split是用C实现可惜一些内置函数/方法不接受关键字参数一个内置的方法。 见这个错误报告 。



文章来源: Why does str.split not take keyword arguments?