Python 3.6使用statistics模块报错NameError: name 'statistics' is not defined求助
问题原因与解决方案
嘿,你遇到的*NameError: name 'statistics' is not defined*问题其实很容易解决,核心原因是你导入模块的方式和调用函数的方式不匹配:
你用了from statistics import *这种导入方式,它会把statistics模块里的所有函数(比如mean、median等)直接导入到当前的代码命名空间中,这时候你不需要再用statistics.作为前缀来调用函数,直接写函数名就行。
修正后的代码
from statistics import * example_list = [5,2,5,6,1,2,6,7,2,6,3,5,5] x = mean(example_list) print(x) y = median(example_list) print(y) z = mode(example_list) print(z) a = stdev(example_list) print(a) b = variance(example_list) print(b)
额外小建议
虽然from statistics import *能用,但更推荐明确导入你需要的函数,这样可以避免和其他模块的函数重名,代码可读性也更好:
from statistics import mean, median, mode, stdev, variance example_list = [5,2,5,6,1,2,6,7,2,6,3,5,5] x = mean(example_list) print(x) # 后面的函数调用保持和上面一致即可
内容的提问来源于stack exchange,提问作者Claudio Lopez
相关产品推荐
相关产品推荐

