gpt4 book ai didi

python - Python代码中的Cython代码

转载 作者:太空狗 更新时间:2023-10-30 03:00:12 24 4
gpt4 key购买 nike

有几种方法可以将 Cython 与 Python 结合使用。

  • 第一个版本(标准):编写 Cython 代码 mylib.pyx,然后运行此 setup.py:

    从 distutils.core 导入设置
    从 Cython.Build 导入 cythonize
    设置(ext_modules = cythonize(“mylib.pyx”))

    将其编译成一个 .pyd 文件,然后,在主 myprogram.py 中,您执行 import mylib

    这是使用 Cython 的标准方式。

  • 第二个版本(“即时编译,使用 pyximport):

    您编写 mylib.pyx,并且您不需要任何 setup.py,您只需在主 Python 代码中执行此操作即可:

    导入 pyximport; pyximport.install()
    导入mylib

    就是这样!编译将在 Python 程序启动时即时完成!

问题:

是否有“第三个版本”(“更容易即时编译”):

# myprogram.py

import pyximport
pyximport.compile("""
# Here is directly the Cython code inserted in the main Python code
def mycythonfunction(int a, int b):
cdef int i, j,
...
""")

res = mycythonfunction(3, 2)

即将 Cython 代码直接插入主 Python 代码中?

最佳答案

pure Python mode允许使用装饰器进行类型减速。您可以将相同的源代码用于纯 Python 和 Cython。

例如:

@cython.locals(a=cython.double, b=cython.double)
def foo(a, b):
return a + b

关于python - Python代码中的Cython代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30239503/

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