python有类似inline
C的东西吗?
如果没有,我怎样才能加快函数的执行速度?
不,python没有这样的说法。
但是,如果函数调用的开销对您来说是个问题,那么使用像 Python 这样的脚本语言是错误的选择。考虑将相关部分移动到 C 扩展中。如果这是您的选择,请查看Cython。
不,它没有。然而,有几种加速 Python 执行的机制,例如,您可以从 Python 程序调用本机 C 代码,例如使用Boost.Python:
Boost Python 库是一个用于连接 Python 和 C++ 的框架。它允许您快速、无缝地将 C++ 类函数和对象公开给 Python,反之亦然,无需使用特殊工具 - 只需您的 C++ 编译器。它旨在以非侵入方式包装 C++ 接口,因此您根本不必更改 C++ 代码来包装它,这使得 Boost.Python 成为向 Python 公开第 3 方库的理想选择。该库对高级元编程技术的使用为用户简化了其语法,因此包装代码呈现出一种声明性接口定义语言 (IDL) 的外观。
您可以从 scipy 下载一个名为Weave的库,它允许您将 c 或 c++ 代码内联到您的 python 代码中。那会加快速度。
然而,python 本身并没有内联函数。
还有其他旨在加速计算的库,如 scipy、numpy,我认为 matplotlib 是一个非常好的库。还有用于并行计算的 iPython。
祝你好运。
我不知道 Python 中有一个等效的内联功能。
假设您已经用尽惯用语言功能(例如列表理解等),您可以做的最好的事情是加速一个函数来检查算法。
Python 将为您优化代码,但您对它的执行方式没有任何影响。为了加快任何 python 代码的加载时间,您可以在执行之前将其编译为字节码。