как напечатать лямбда-выражение

#python

#python

Вопрос:

У меня есть два (много) лямбда-выражения:

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

Я хочу напечатать результирующее выражение для mySpecFoo. что-то вроде

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

и я хочу видеть в выходных данных:

 lambda x: x   1
  

Вы знаете, как это сделать?
Спасибо!

Ответ №1:

Это называется «символическая оценка», и для этого вам нужна какая-то внешняя библиотека, например, SymPy:

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

Комментарии:

1. спасибо, Sage классный, но оболочка для Windows все еще находится в стадии разработки 🙁