在python中,stringizec预处理器宏的等价物是什么#

2024-10-02 12:36:24 发布

您现在位置:Python中文网/ 问答频道 /正文

https://gcc.gnu.org/onlinedocs/cpp/Stringification.html允许字符串化参数(在求值之前),这对调试很有用。我们如何在python中实现呢? 例如:

def prettyprint(a):
  #requires special function stringify
  print(stringify('a') + ':' + str(a));

def test():
  prettyprint(1+2)
  # will print: 1+2:3

Tags: 字符串httpsorggnu参数defhtmlcpp
1条回答
网友
1楼 · 发布于 2024-10-02 12:36:24

我认为没有一种方法可以不使用字符串。C预处理器实际上只处理文本,因此stringify将表达式放在引号中,其余的是eval

def prettyprint(a):
    print( a + ':' + str( eval(a) ) )

>>> prettyprint('1+2')
1+2:3

如果不使用字符串,则表达式将在调用之前求值,prettyprint无法确定它接收到的3是如何产生的。在

相关问题 更多 >

    热门问题