Я пытался научиться писать C-расширения для Python и хочу быть уверенным, что я понимаю, как работает PyArg_ParseTupleAndKeywords.
Я считаю, что первым аргументом является указатель PyObject, который указывает на массив аргументов, передаваемых в функцию C-расширения в том порядке, в котором они были переданы. Второй аргумент - это список переданных ключевых слов, позиции, на которых они были переданы, и, скорее всего, какой-то индикаторный флаг, указывающий, в какой позиции ключевые слова начинаются и позиция становится неактуальной.
PyArg_ParseTupleAndKeywords затем использует свой список ключевых слов (4-й аргумент) для сопоставления между аргументами, указанными с ключевым словом, и как строку формата (третий аргумент), так и адреса переменных C (аргументы 5 и +), которым должны быть скопированы соответствующие значения.
Правильно ли я понимаю? Когда я читаю онлайн-документацию, все, что я вижу, это ссылки на "позиционные аргументы и аргументы ключевых слов", которые оставляют меня немного в темноте. Где находится файл для интерпретатора Python, который обрабатывает PyArg_ParseTupleAndKeywords?