python 标准库copy、functools(四-其它)
Python 标准库
Python语言参考 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。它还描述了通常包含在 Python 发行版中的一些可选组件。
Python 标准库非常庞大,所提供的组件涉及范围十分广泛,正如以下内容目录所显示的。这个库包含了多个内置模块 (以 C 编写),Python 程序员必须依靠它们来实现系统级功能,
例如文件 I/O,此外还有大量以 Python 编写的模块,提供了日常编程中许多问题的标准解决方案。其中有些模块经过专门设计,通过将特定平台功能抽象化为平台中立的 API 来鼓励和加强 Python 程序的可移植性。
Windows 版本的 Python 安装程序通常包含整个标准库,往往还包含许多额外组件。对于类 Unix 操作系统,Python 通常会分成一系列的软件包,因此可能需要使用操作系统所提供的包管理工具来获取部分或全部可选组件。
在这个标准库以外还存在成千上万并且不断增加的其他组件 (从单独的程序、模块、软件包直到完整的应用开发框架),访问 Python 包索引 即可获取这些第三方包。
官方文档(标准库)https://docs.python.org/zh-cn/3.7/library/index.html
1、copy模块
数据类型--浅拷贝、深拷贝
https://docs.python.org/zh-cn/3/library/copy.html#module-copy
copy.copy(obj) #浅拷贝
copy.deepcopy(obj) #深拷贝
2、functools模块
函数式编程模块--高阶函数和可调用对象上的操作
https://docs.python.org/zh-cn/3/library/functools.html#module-functools
from functools import reduce
在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 functools 模块里
from functools import reduce
reduce(func,sequence[,initial])
参数:func,函数,有两个参数
sequence,序列
initial,可选,
作用:第一次调用function时,如果提供initial参数,会以sequence中的第一个元素和initial作为参数调用function,
否则会以序列sequence中的前两个元素做参数调用function。第二次以后调用,从sequence中按顺序取第三个
元素,和上一次调用function的结果做参数再次调用function。以此类推,function运算结果再和sequence第四个元素,调用function,....。
返回值:返回对sequence的处理结果
sequence为空时,返回的是initial,若没有initial,则会报错
In [10]: from functools import reduce
...:
...: def add(x,y):
...: return x + y
...:
...: print (reduce(add, range(1, 101)))
5050