Vladimir
Vladimir

Reputation: 131

how to print lambda expression

I have two (many) lambdas:

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

I want to print resulting expression for mySpecFoo. smth like

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

and I want to see in output:

lambda x: x + 1

Do you know how to do this? Thank you!

Upvotes: 1

Views: 205

Answers (1)

Sven Marnach
Sven Marnach

Reputation: 602235

This is called "symbolic evaluation", and you need some external library to do this, for example SymPy:

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

Upvotes: 3

Related Questions