PyCharm: 模块 'math' 没有属性 'prod'

PyCharm: module 'math' has no attribute 'prod'

我正在使用 Python 3.7,我的编辑器是 PyCharm。当我从数学模块调用 prod 方法时,它给出了错误:

AttributeError: 模块 'math' 没有属性 'prod'

我该如何解决? (它适用于 floorsqrt 等其他方法。唯一的问题是 prod。)

这是我的一段代码:

import math

numbers = [1, 2, 3, 4]

print(math.prod(numbers))

总的来说,我的问题是为什么会出现这个问题,我该如何处理类似的情况?

谢谢。

尝试将 math.prod(numbers) 分配给一个变量,然后打印该变量。如果这不起作用,请尝试下载最新版本的 python 并确保 python 和 pycharm 是 运行 相同的版本。

来自 Python math.prod 文档 here

New in version 3.8.

要修复它,请将您的 Python 安装升级到 >=v3.8。

math.prod 是一个新函数(来自 Python 3.8)。

如果你想有一个更兼容的代码,你应该使用旧的方式:

from functools import reduce
import operator

reduce(operator.mul, [1,2,3,4], 1)

模块 itertools 也经常有用(如果您查看文档,您有很多关于如何实现数学运算的示例)。

回答您的一般问题:如何处理此类情况:

Python 文档很好。你应该更多地参考它,例如如果你有错误,还要检查你需要哪些参数,以及return值。人类的记忆力是有限的,所以我们将很多内容转交给文档,尤其是检查特殊情况(如果列表为空怎么办?)。所以我(和很多人)将此 URL https://docs.python.org/3/library/index.html 保存在书签中。注意:只是不要完全相信文档,也做一些测试(特别是如果功能描述很长,并且有很多特殊情况:你的特殊情况可以由不同的“特殊情况”开关处理。