首页 > 解决方案 > 使用 Python C API,我如何编写一个接受任意数量参数的函数,包括根本没有?

问题描述

METH_VARARGS至少需要一个论据;METH_NOARGS似乎根本不让我通过。

我如何定义一个build()可以被称为build()or 或build(True)/的函数build(False)

调用METH_VARARGS不带参数的函数会导致:

TypeError: function takes exactly 1 argument (0 given)

标签: python-c-api

解决方案


我把问题想错了。这不是定义,而是引起我的 TypeError 的解析。

为了防止它,我只需要使用"|O"而不是"O"in PyArg_ParseTuple


推荐阅读