2016-04-04 79 views

回答

0

我不認爲有一種方法可以做到這一點,而不使用字符串。 C預處理器真的只能處理文本,所以stringify被放置在引號中的表達,剩下的就是eval

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

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

如果不使用字符串,則表達式將在調用前評估和prettyprint也沒辦法弄清楚它收到的3是如何成爲的。