gpt4 book ai didi

Python:采用三个参数的部分

转载 作者:太空狗 更新时间:2023-10-30 02:18:11 26 4
gpt4 key购买 nike

我正在尝试通过阅读这本书来学习 Python Data Science from Scratch by Joel Grus ,并且在第 94 页上,他们描述了如何使用以下代码来逼近 f = x^2 的导数

def difference_quotient(f, x, h):
return (f(x + h) - f(x)) / h

def square(x):
return x * x

def derivative(x):
return 2 * x

derivative_estimate = partial(difference_quotient, square, h=0.00001)

# plot to show they're basically the same
import matplotlib.pyplot as plt
x = range(-10,10)
plt.title("Actual Derivatives vs. Estimates")
plt.plot(x, map(derivative, x), 'rx', label='Actual')
plt.plot(x, map(derivative_estimate, x), 'b+', label='Estimate')
plt.legend(loc=9)
plt.show()

一切正常,但是当我将行 derivative_estimate = partial(difference_quotient, square, h=0.00001) 更改为 derivative_estimate = partial(difference_quotient, f=square, h=0.00001) (因为我觉得这样读起来更清晰),然后我得到以下错误

Traceback (most recent call last):
File "page_93.py", line 37, in <module>
plt.plot(x, map(derivative_estimate, x), 'b+', label='Estimate')
TypeError: difference_quotient() got multiple values for keyword argument 'f'

这是怎么回事?

最佳答案

在本主题中得到了解答和完美解释:

在您的情况下,这意味着您应该将 x 作为关键字参数传递:

plt.plot(x, [derivative_estimate(x=item) for item in x], 'b+', label='Estimate')

关于Python:采用三个参数的部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36966954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com