我知道一堆脚本语言(python、ruby、lua、php),但我不知道任何编译语言,如 C/C++,我想尝试使用 cython 加速一些 python 代码,这本质上是一个 python -> C 编译器,旨在为 python 创建 C 扩展。基本上,您使用更严格的 python 版本进行编码,该版本编译为 C -> native 代码。
这就是问题所在,我不知道 C,但是 cython 文档针对显然已经知道 C 的人(没有解释,只介绍),对我没有帮助,我需要知道是否有是针对 python 程序员的任何好的 cython 教程,或者我在学习 Cython 之前必须学习 C。
请记住,我是一名称职的 python 程序员,我宁愿从我已经擅长的语言的角度学习 cython,而不是为了学习 cython 而学习一门全新的语言。
1) 请不要推荐 psyco
编辑:任何有助于理解官方 cython 文档的信息都是有用的信息
最佳答案
cython
擅长两种不同的事情
- 与 C 语言库的接口(interface)
- 加速 Python 代码
它可能从 1. 中得到更多的曝光,因此强调你找到的 C Material 的教程 Material 。听起来你想像 2 一样使用它。
根据我使用 cython
的经验,您可以尝试编译您的 python 程序,看看它是否有效。它会变得更快(也许)。为了获得更快的速度,您需要有选择地将 python 类型转换为 C 类型。这开始发挥 cython 的力量。
如果您查看 official tutorial你需要研究他们在哪里使用了 cdef
关键字。
回顾一下
- 使用 cython 编译您现有的 python 程序,并尽可能减少更改
- 将一些变量声明为
cdef
并使其再次起作用 - 如果不够快,请转到第 2 步。
很抱歉,这不是一个教程的指针,但它应该给你一个前进的方向!
关于python - Noob-Ready Cython 教程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1582105/