编程语言
首页 > 编程语言> > 适用于Python的C预处理器宏

适用于Python的C预处理器宏

作者:互联网

我习惯在C中定义宏(而不仅仅是常量)

#define loop(i,a,b) for(i=a; i<b; ++i)
#define long_f(a,b,c) (a*0.123 + a*b*5.6 - 0.235*c + 7.23*c - 5*a*a + 1.5)

有没有一种方法在python中使用预处理而不是函数?

*通过预处理,我的意思是在运行代码之前会替换定义的出现(实际上不是整个代码,而是其余代码,因为既然它是代码的一部分,我想它将在运行时替换所有内容).

如果有,值得吗?运行时间是否会有显着差异?

解决方法:

好吧,如果您要执行一些可能会事先执行的非常困难的计算,那么也许这是有道理的:通常,用户对快速程序而不是慢速程序更满意.

但是,恐怕在“原始性能”(即算术计算速度)方面,python不是一个不错的选择.至少如果我们谈论称为CPython的标准python实现.

另外,您可以检查其他变体:

>PyPy.这是纯Python中的另一种python实现.借助JIT编译器,它可以提供更好的性能,但需要更多的内存.
>Cython.这是Python的扩展,它允许[方便地]为代码的性能关键部分创建可编译的片段.
>使用任何您喜欢的外部预处理器.首先想到的是M4FilePP,但它们很多.

标签:preprocessor,python,macros
来源: https://codeday.me/bug/20191010/1888444.html