Skip to main content
 首页 » 编程设计

python之自动为 cython 的 python 变量声明 c 类型

2025年05月04日10kerrycode

我需要通过 cython 加速 python 代码。为了进一步加快速度,我想在 python 变量上自动声明 C 类型。

要做到这一点,我想找到像 a = 1.0 这样的任务,它试图创建整数或 float python 对象,而不是将代码更改为 cdef double a = 1.0。 (我们知道“a”只能用作 float ,因此python代码有一些限制。)

使用 python ast 模块查找分配的第一个任务是一项简单的任务。但我不知道如何插入类型定义。我可以修改抽象语法树 (ast),但我假设 cython 编译器无法读取更改后的 ast。

这是我的问题:我是否需要一个代码生成器来允许从更改后的 ast 转换为 cython 代码,或者是否有更自然的方法来完成我的任务(可能借助 cython 工具)?

请您参考如下方法:

我认为Augmenting.pxd是要走的路。