在 C 扩展中返回多个输出?
Returning more than one output in C extensions?
Python 允许 return 使用逗号作为分隔值的多个结果。
开发用C语言编写的CPython扩展时,是否可以得到相同的结果?怎么样?
我正在开发一个 CPython 扩展来替换现有的 Python 代码来对性能进行一些测试,我更愿意使用相同的界面而不更改现有的代码库。
我正在使用 Python 3.6.
是的,您可以使用 PyTuple_New
创建一个元组,填充它并 return 它。被调用者将能够像往常一样解压结果。
Python returns 使用容器的多个值。单个对象被 returned 解包。逗号分隔表示元组;另一方面,在方括号中,创建了一个列表。有关详细信息,请参阅 。
如果您想了解如何在 C
中执行此操作的示例,您可以查看 the implementation of str.partition
or array.buffer_info
(或任何元组 returning 内置方法) .
Python 允许 return 使用逗号作为分隔值的多个结果。
开发用C语言编写的CPython扩展时,是否可以得到相同的结果?怎么样?
我正在开发一个 CPython 扩展来替换现有的 Python 代码来对性能进行一些测试,我更愿意使用相同的界面而不更改现有的代码库。
我正在使用 Python 3.6.
是的,您可以使用 PyTuple_New
创建一个元组,填充它并 return 它。被调用者将能够像往常一样解压结果。
Python returns 使用容器的多个值。单个对象被 returned 解包。逗号分隔表示元组;另一方面,在方括号中,创建了一个列表。有关详细信息,请参阅
如果您想了解如何在 C
中执行此操作的示例,您可以查看 the implementation of str.partition
or array.buffer_info
(或任何元组 returning 内置方法) .