2011-11-05 3 views
1

를 인쇄하는 방법 나는이 (많은) 람다 있습니다람다 식

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

감사합니다. Sage는 멋지지만 Windows 용 셸은 아직 개발 중입니다. ( – Vladimir