python-c-api - 使用 Python C API,我如何编写一个接受任意数量参数的函数,包括根本没有?
问题描述
METH_VARARGS
至少需要一个论据;METH_NOARGS
似乎根本不让我通过。
我如何定义一个build()
可以被称为build()
or 或build(True)
/的函数build(False)
?
调用METH_VARARGS
不带参数的函数会导致:
TypeError: function takes exactly 1 argument (0 given)
解决方案
我把问题想错了。这不是定义,而是引起我的 TypeError 的解析。
为了防止它,我只需要使用"|O"
而不是"O"
in PyArg_ParseTuple
!
推荐阅读
- java - 我可以捕获已经捕获的异常吗?
- asp.net - 如何在 asp.net aspx 网页上注入小型 Angular 5 应用程序?
- java - 用于异步 Http 接口的 IBM Watson Speech to Text API
- oracle - 已删除记录的副本 - 触发器或其他方式
- javascript - JS && HTML5 如何在不同宽度和高度的画布中动态打开图片
- powershell - 使用 Get-ADUser 过滤掉包含单词或字符的用户
- oracle - 如何在多列上的 oracle 行之间查找重复项?
- java - 无法通过 Java 检索存储过程返回值
- spring-boot - spring-boot-starter-freemarker 动态循环示例
- javascript - 在后台打开新标签,将注意力集中在当前标签上 - Chrome