【问题标题】:Mathematical functions on Python 3Python 3 上的数学函数
【发布时间】:2026-01-30 12:00:01
【问题描述】:

我有一项数值分析工作要做,其中包括实现求根问题的算法。其中包括牛顿法,它计算函数 f(x) 的值,它是每次迭代的一阶导数。

对于该方法,我需要一种方法让我的应用程序的用户输入一个(数学)函数并将其保存为变量,并使用该信息在不同点上给出该函数的值。我只知道 Python 编程的基本知识,也许这很容易,但我该怎么做呢?

【问题讨论】:

标签: python math mathematical-expressions


【解决方案1】:

如果您信任用户,您可以输入一个字符串,即在 Python 中完成的完整函数表达式,然后在该字符串上调用 eval()。 Python 本身对表达式求值。但是,用户可以使用该字符串在您的程序中执行许多操作,其中许多非常讨厌,例如接管您的计算机或删除文件。

如果您不信任用户,您还有很多工作要做。您可以编写“函数生成器”,就像 Microsoft Word 中的公式编辑器和类似程序一样。如果您“只了解 Python 编程的最基本知识”,那么这超出了您的范围。您也许可以使用搜索引擎来查找 Python 版本。

另一种可能性是编写自己的评估器。这也超出了你的能力,你也可以找到一个你可以使用的。

如果您需要更多详细信息,请展示您自己的更多作品,然后询问。

【讨论】:

  • 感谢您非常清楚的回答。我认为eval() 足以满足我在这里的目的。