Why does str.split not take keyword arguments?

纵然是瞬间 提交于 2019-12-17 16:18:58

问题


I came across this - in my view - strange behaviour:

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

Why does str.split() not take keyword arguments, even though it would make sense? I found this behavior both in Python2 and Python3.


回答1:


See this bug and its superseder.

str.split() is a native function in CPython, and as such exhibits the behavior described here:

CPython implementation detail: An implementation may provide built-in functions whose positional parameters do not have names, even if they are ‘named’ for the purpose of documentation, and which therefore cannot be supplied by keyword. In CPython, this is the case for functions implemented in C that use PyArg_ParseTuple() to parse their arguments.




回答2:


str.split is a builtin method implemented in C. Unfortunately some builtin functions/methods do not accept keyword arguments. See this bug report.



来源:https://stackoverflow.com/questions/11716687/why-does-str-split-not-take-keyword-arguments

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!