我在docs中看到,我可以用 int 构建元组值(指定'i')。我需要用 bool 制作元组,例如(True, 10)
. 如何用 bool 制作这样的元组(需要什么说明符)?
问问题
3789 次
1 回答
18
该转换没有预定义的格式字符,但通过在元组中插入Py_True
或Py_False
对象来模拟一个是微不足道的,视情况而定。例如:
int i = ...;
bool b = ...;
PyObject *tuple_with_bool = Py_BuildValue("Oi", b ? Py_True: Py_False, i);
另一种选择是使用PyBool_FromLong进行转换。在这种情况下,请记住使用N
格式来说明PyBool_FromLong
返回新参考:
PyObject *tuple_with_bool = Py_BuildValue("Ni", PyBool_FromLong(b), i);
于 2014-01-19T19:13:49.413 回答