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

2024-05-23 22:11:27 发布

您现在位置:Python中文网/ 问答频道 /正文

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

为此,我希望找到像a = 1.0这样的赋值,它们尝试创建整数或浮点python对象,然后将代码更改为cdef double a = 1.0。(我们知道“a”仅用作浮点数。因此python代码有一些限制。)

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

我的问题是:我是否需要一个代码生成器来允许从已更改的ast到cython代码的转换,还是有一种更自然的方式来完成我的任务(也许在cython工具的帮助下)?在


Tags: 模块对象代码声明类型整数ast速度