如果 Python 和 C 一样快,那么后者会出现在 Python 应用程序/库中吗?
示例:如果 Python 和 C 一样快,PIL 会完全用 Python 编写吗?
如果 Python 和 C 一样快,那么后者会出现在 Python 应用程序/库中吗?
示例:如果 Python 和 C 一样快,PIL 会完全用 Python 编写吗?
访问“旧版”C 库和操作系统工具。
虽然您当然可以使用ctypes来访问现有的 C 代码,但在足够复杂的情况下,您可能不一定想要:当您编写为 C 设计(并在其中实现)的接口时,不进行编译可能意味着小错误在调用者方面,这会简单地拒绝在 C 中正确编译,可能会导致整个应用程序崩溃。
因此,使用 C 代码(而不是ctypes
)来重用良好的现有 C 代码可能很有意义(当然, Cython也很好,因为它确实会生成 C 代码,如果出现调用方错误,应该编译失败;-)。
当然,从头开始重新编码所有内容,而不是重用好的、现有的、可靠的和经过微调的代码,这两种方式都没有多大意义——有太多有趣的新问题需要克服,以至于花时间只是模仿现有的,对一个已经解决的老问题的恰到好处的解决方案可能不会是最好的、最有成效的、最令人满意的消磨时间的方式;-)。
在 Python 中使用 C 模块是有意义的:
至于您的示例:是的,但是 Python 本质上比 C 慢。如果两者都同样快,那么使用 Python 是有意义的,因为 C 代码通常更容易受到攻击(缓冲区溢出等)。
访问硬件。