Подтвердить что ты не робот

Почему str.split не принимает аргументы ключевого слова?

Я наткнулся на это - на мой взгляд - странное поведение:

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

Почему str.split() не принимает аргументы ключевого слова, даже если это имеет смысл? Я нашел это поведение как в Python2, так и в Python3.

4b9b3361

Ответ 1

Смотрите эту ошибку и ее заменитель.

str.split() является нативной функцией в CPython и, таким образом, демонстрирует поведение здесь:

Подробности реализации CPython: Реализация может обеспечить встроенный функции, у позиционных параметров которых нет имен, даже если они названы в целях документации, и поэтому не может быть предоставлено по ключевому слову. В CPython это имеет место для функции, реализованные в C, которые используют PyArg_ParseTuple() для анализа своих Аргументы.

Ответ 2

str.split - встроенный метод, реализованный в C. К сожалению, некоторые встроенные функции/методы не принимают аргументы ключевых слов. См. этот отчет об ошибках.