2011-11-05 57 views
1

我有兩個(多)lambda表達式:如何打印lambda表達式

myFoo = lambda x,y: x + y 
mySpecFoo = lambda x: myFoo(x, 1) 

我想打印造成的mySpecFoo表達。水木清華像

x = var('x') 
print(mySpecFoo(x)) 

,我想在輸出看到:

lambda x: x + 1 

你知道如何做到這一點? 謝謝!

回答

3

這就是所謂的 「符號計算」,和你需要一些外部庫要做到這一點,例如SymPy

>>> import sympy 
>>> myFoo = lambda x,y: x + y 
>>> mySpecFoo = lambda x: myFoo(x, 1) 
>>> x = sympy.var("x") 
>>> print mySpecFoo(x) 
1 + x 
+0

或[聖人](http://www.sagemath.org/)。但賢者是*巨大*! – Blender

+0

謝謝,賢者很酷,但Windows的殼仍在開發:( – Vladimir