PyCharm:模块“数学”没有属性“产品”

Moh*_*ahi 4 attributeerror pycharm

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

AttributeError: 模块“math”没有属性“prod”

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

这是我的一段代码:

import math

numbers = [1, 2, 3, 4]

print(math.prod(numbers))
Run Code Online (Sandbox Code Playgroud)

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

谢谢。

Gia*_*zzi 6

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

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

from functools import reduce
import operator

reduce(operator.mul, [1,2,3,4], 1)
Run Code Online (Sandbox Code Playgroud)

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

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

Python 文档非常好。您应该更多地参考它,例如,如果您有错误,还要检查您需要哪些参数以及返回值。人类的记忆是有限的,所以我们向文档传递了很多信息,特别是检查特殊情况(如果列表为空呢?)。所以我(和很多人)把这个 URL https://docs.python.org/3/library/index.html保存在书签上。注意:不要完全相信文档,也不要做一些测试(特别是如果函数描述很长,并且有很多特殊情况:您的特殊情况可以由不同的“特殊情况”开关处理。