【发布时间】:2016-07-29 06:02:29
【问题描述】:
我用来在 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 中使用 preprocess 而不是函数?
*通过 preprocess 我的意思是在运行代码之前替换定义的出现(实际上不是整个代码,而是其余代码,因为它是代码的一部分,我猜它将在运行时替换所有内容)。
如果有,值得吗?运行时间会有显着差异吗?
【问题讨论】:
-
传统上,C 预处理器是一个单独的程序,在大多数类似 POSIX 的系统中,它仍然可以作为
cpp使用。当然还有许多其他可用的预处理器,M4 是当今最引人注目的。如果您稍微搜索一下,还有其他类似 C 的预处理器。 但是,如果您使用预处理器和类似的宏,大多数 Python 程序员都会对您和您的代码皱眉。实际上,大多数 C 程序员也是如此。 -
Python 是一种解释型语言,没有类似 C 的预处理器在编译前替换标记的概念。
标签: python macros preprocessor