gpt4 book ai didi

python - 在 C 扩展中返回多个输出?

转载 作者:太空宇宙 更新时间:2023-11-04 06:15:05 25 4
gpt4 key购买 nike

Python 允许使用逗号作为分隔值返回多个结果。

在开发用C语言编写的CPython扩展时,是否有可能获得相同的结果?怎么办?

我正在开发一个 CPython 扩展来替换现有的 Python 代码来进行一些性能测试,我更愿意使用相同的界面而不更改现有的代码库。

我正在使用 Python 3.6。

最佳答案

是的,您可以使用 PyTuple_New 创建一个元组,填充它并返回它。被调用者将能够像往常一样解压结果。

Python 通过使用容器返回多个值。返回一个未打包的对象。逗号分隔表示元组;另一方面,在方括号中,创建了一个列表。参见 How does Python return multiple values from a function有关更多信息。

如果您想了解如何在 C 中执行此操作的示例,您可以查看 the implementation of str.partitionarray.buffer_info (或任何返回内置方法的元组)。

关于python - 在 C 扩展中返回多个输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47636993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com