PyCharm:module';数学';没有属性';产品';

PyCharm:module';数学';没有属性';产品';,pycharm,attributeerror,Pycharm,Attributeerror,我使用的是Python 3.7,我的编辑器是PyCharm。当我从数学模块调用prod方法时,它给出了错误: AttributeError:模块“math”没有属性“prod” 我怎样才能修好它?(它适用于其他方法,如floor、sqrt等。唯一的问题是prod) 以下是我的代码: import math numbers = [1, 2, 3, 4] print(math.prod(numbers)) 一般来说,我的问题是为什么会出现这种问题,以及如何处理类似情况 谢谢。尝试将math.p

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

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

我怎样才能修好它?(它适用于其他方法,如
floor
sqrt
等。唯一的问题是
prod

以下是我的代码:

import math

numbers = [1, 2, 3, 4]

print(math.prod(numbers))
一般来说,我的问题是为什么会出现这种问题,以及如何处理类似情况


谢谢。

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

来自python
math.prod
文档

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文档非常好。您应该更多地参考它,例如,如果您有错误,还要检查您需要哪些参数以及返回值。人类的记忆是有限的,所以我们大量地依赖于文档,特别是检查特殊情况(如果列表为空怎么办?)。所以我(和许多人)把这个URL保存在书签上。注意:不要完全相信文档,也要做一些测试(特别是如果功能描述很长,并且有许多特殊情况:您的特殊情况可以由不同的“特殊情况”开关处理。

非常感谢您提供详细完整的答案。