正如我们所知道的,C/C++具有宏函数来进行文本替换,下面是一个示例:
#include <string>
#include <iostream>
using namespace std;
#define FIRST_NAME Print("Moon")
#define FAMILY_NAME Print("Sun")
string Print(string name)
{
cout << name << endl;
return name;
}
int main()
{
string name = FIRST_NAME + FAMILY_NAME;
return 0;
}正如您所看到的,FIRST_NAME和FAMILY_NAME都是宏,它们将被函数Print()替换。
我的问题是,Python是否有类似的特性?或者我能做些什么来创建这种特征?
发布于 2020-09-24 00:06:01
在Python中,你几乎可以通过它的元类(对象上常见Python操作的自定义行为)、运行时反射和运行时评估来实现几乎任何你想要的东西。
另一方面,除非你真的需要这种方法,否则这种方法是不被鼓励的,因为它会增加复杂性,并扼杀你“静态”理解代码的能力。也就是说,除非您正在执行以下操作,否则不要使用它们:
当然,也可以对Python源代码应用任何类型的预处理器,当然包括C,也可以包括Python脚本。
https://stackoverflow.com/questions/49291033
复制相似问题