Question

I am trying to manipulate variables in sympy, so that after I can input them into a Python function which requires the input to be “normal” Python code. For example:

I would like to input (where x is a sympy symbol):

y = x**3 +  x**2 + 3*x +5

Then, in the same code I would later like to be able to insert y into another function, lets say:

OtherFunction(y)

where y is no longer the “type” sympy symbol, but rather interpreted as if I had directly input

OtherFunction(x**3 + x**2 + 3*x +5)

Is there a way to do this?

Was it helpful?

Solution

This is already how Python works. When you define y as you show, you are creating a Python variable, y, that has the value of a SymPy expression. So if you call some function, passing y, you are actually passin the expression:

>>> y = x**3 +  x**2 + 3*x +5
>>> def foo(x):
...  print 'got',x
...
>>> foo(y)
got x**3 + x**2 + 3*x + 5
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top