适用于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的扩展,它允许[方便地]为代码的性能关键部分创建可编译的片段.
>使用任何您喜欢的外部预处理器.首先想到的是M4和FilePP,但它们很多.
标签:preprocessor,python,macros 来源: https://codeday.me/bug/20191010/1888444.html