Как работает PyArg_ParseTupleAndKeywords?

Я пытался научиться писать C-расширения для Python и хочу убедиться, что понимаю, как работает PyArg_ParseTupleAndKeywords.

Я полагаю, что первый аргумент — это указатель PyObject, указывающий на массив аргументов, передаваемых в функцию C-расширения в том порядке, в котором они были переданы. Второй аргумент — это список переданных ключевых слов, позиции, в которых они были переданы, и, весьма вероятно, какой-то флаг-индикатор, указывающий, с какой позиции начинаются ключевые слова и позиция становится нерелевантной.

Затем PyArg_ParseTupleAndKeywords использует свой список ключевых слов (4-й аргумент) для сопоставления между аргументами, указанными с помощью ключевого слова, и строкой формата (3-й аргумент), и адресами переменных C (5-й и + аргументы), в которые должны быть скопированы соответствующие значения. .

Правильно ли я понимаю? Когда я читаю онлайн-документацию, все, что я вижу, это ссылки на «позиционные аргументы и аргументы ключевых слов», которые оставляют меня немного в неведении. Где находится файл для интерпретатора Python, который обрабатывает PyArg_ParseTupleAndKeywords?

17
задан Joel Vroom 25 October 2013 в 12:59
поделиться