首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Python中使用宏替换,如C/C++

在Python中使用宏替换,如C/C++
EN

Stack Overflow用户
提问于 2018-03-15 11:18:45
回答 3查看 1.3K关注 0票数 0

正如我们所知道的,C/C++具有宏函数来进行文本替换,下面是一个示例:

代码语言:javascript
运行
复制
#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_NAMEFAMILY_NAME都是宏,它们将被函数Print()替换。

我的问题是,Python是否有类似的特性?或者我能做些什么来创建这种特征?

EN

Stack Overflow用户

发布于 2020-09-24 00:06:01

在Python中,你几乎可以通过它的元类(对象上常见Python操作的自定义行为)、运行时反射和运行时评估来实现几乎任何你想要的东西。

另一方面,除非你真的需要这种方法,否则这种方法是不被鼓励的,因为它会增加复杂性,并扼杀你“静态”理解代码的能力。也就是说,除非您正在执行以下操作,否则不要使用它们:

  • Dynamic code generation
  • Designing是一种基于Python的DSL
  • 某种框架,它需要一些魔法才能使用户看起来更好

当然,也可以对Python源代码应用任何类型的预处理器,当然包括C,也可以包括Python脚本。

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49291033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档