Python Can';t使用sympy.diff中的导数函数

Python Can';t使用sympy.diff中的导数函数,python,sympy,Python,Sympy,我试图使用使用sympy.diff找到的导数函数来计算其他值。由于某些原因,我在尝试代码时收到以下消息: ValueError:第一个变量不能是数字:4 这是我的密码: import sympy as sp def f(x): return (x**2-3)/2 x = sp.Symbol('x') def df(x): return sp.diff(f(x), x, 1) print('la dérivée de f(x) est:', df(x)) print(df(

我试图使用使用
sympy.diff
找到的导数函数来计算其他值。由于某些原因,我在尝试代码时收到以下消息:

ValueError:第一个变量不能是数字:4

这是我的密码:

import sympy as sp

def f(x):
    return (x**2-3)/2

x = sp.Symbol('x')

def df(x):
    return sp.diff(f(x), x, 1)

print('la dérivée de f(x) est:', df(x))
print(df(4))

原因是在
print(df(4))
中,您将数字4传递给
df
,后者将其传递给
sp.diff
类似
sp.diff(f(4),4,1)

您打算将
sp.Symbol('x')
传递给
sp.diff
,然后返回一个函数(
f
相对于
x
)的导数,您可以传递数字4(
x=4

import sympy as sp

def f(x):
    return (x**2-3)/2

x = sp.Symbol('x')

def df(x):
    return sp.diff(f(x), x, 1)

print('la dérivée de f(x) est:', df(x))
print(df(x)(4))  # note the additional (x) here