statistics与functools模块核心功能及应用
请介绍Python statistics模块(均值/中位数/众数/方差/标准差)和functools模块(lru_cache/partial/reduce/singledispatch)的核心功能。
回答
我还是少年
statistics模块(Python 3.4+):
statistics.mean(data)— 算术平均statistics.median(data)— 中位数(自动处理偶数个数)statistics.mode(data)— 众数(出现最多的值,多众数时抛异常)statistics.stdev(data)— 样本标准差statistics.variance(data)— 样本方差statistics.pstdev(data)/statistics.pvariance(data)— 总体标准差/方差statistics.quantiles(data, n=4)— 分位数(Python 3.8+)
functools模块:
lru_cache(maxsize=128, typed=False)— 装饰器,缓存函数结果(最近最少使用策略),适合计算密集型纯函数partial(func, /, *args, **kwargs)— 偏函数,固定部分参数生成新函数reduce(function, iterable, initializer)— 累积归约,如reduce(lambda a,b: a*b, [1,2,3,4])返回24singledispatch— 单分派泛函数,根据第一个参数类型调用不同实现wraps— 装饰器工具,保留被装饰函数的元信息(__name__、__doc__等)