发现sympy很有意思,不仅可以把常数代入变量计算数值结果,还可以将变量代入变量。
下面举个具体的例子。
from sympy import *
def test_subs(a):
x = symbols('x')
f = x + 1
f = f.subs(x, a)
return f
print(test_subs(1))
输出:
2
from sympy import *
z = symbols('z')
a = z ** 2
def test_subs(a):
x = symbols('x')
f = x + 1
f = f.subs(x, a)
return f
print(test_subs(a))
输出:
z**2 + 1
代入局部变量也是可以的,目前来看,对结果没有影响。
from sympy import *
def get_a():
z = symbols('z')
a = z ** 2
return a
def test_subs(a):
x = symbols('x')
f = x + 1
f = f.subs(x, a)
return f
print(test_subs(get_a()))
输出:
z**2 + 1
可以看到结果与代入全局变量是一样的。