我用来定义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中使用预处理代替函数?
*通过预处理我的意思是在运行代码之前替换定义的出现(实际上不是整个代码而是代码的其余部分,因为因为它是代码的一部分,我猜它将在运行时替换所有内容。)
如果有,值得吗?运行时间会有显着差异吗?
答案 0 :(得分:4)
有办法吗?是。总有办法。你应该这样做吗?可能不是。
只需定义一个能够满足您需求的功能。如果你只是担心代码变得很长并且想要一个单行,你可以使用lambda函数。
long_f = lambda a,b,c: a*0.123 + a*b*5.6 - 0.235*c + 7.23*c - 5*a*a + 1.5
long_f(1,2,3) == 28.808
当然,你的第一个例子在Python中已经漂亮了。
for i in range(a,b):
...
修改:为了完整起见,我应该按照要求回答问题。如果你绝对必须预先处理你的Python代码,你可以使用任何编程语言来设计网页之类的东西。例如,我听说PHP用于预处理代码。您编写代码而不是HTML。如果你想要预处理的东西,你可以使用PHP块。
答案 1 :(得分:3)