第10章 Python 标准库

10.1 内置函数

abs() dict() help() min() setattr()
all() dir() hex() next() slice()
any() divmod() id() object() sorted()
ascii() enumerate() input() oct() staticmethod()
bin() eval() int() open() str()
bool() exec() isinstance() ord() sum()
byterarray() filter() issubclass() pow() super()
bytes() float() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() __import__()
complex() hasattr() max() round()
delattr() hash() memoryview() set()

10.2 内置常量

  1. False
  2. True
  3. None
  4. NotImplemented
  5. Ellipsis
  6. __debug__

10.3 内置数据类型

10.3.1 真值测试

以下内置对象被认为是 False:

  1. 定义为 False 的变量:None 和 False
  2. 数字0类型:0,0.0,0j,Decimal(0),Fraction(0, 1)
  3. 空序列和集合:' ',( ),[ ],{ },set(),range(0)
    此外,0 和 False 等价,1 和 True 等价。

10.3.2 布尔操作 - and,or,not

操作 结果
x or y 如果 x 为假,则 y,否则 x
x and y 如果 x 为假,则 x,否则 y
not x 如果 x 为假,则真,否则假

10.3.3 比较操作

操作 含义
< 严格小于
<= 小于或等于
> 严格大于
>= 大于或等于
== 等于
!= 不等于
is 属于
is not 不属于

10.3.4 数字类型 - int,float,complex

数字类型包括:整数、浮点数和复数,分别使用 int(),float(),complex()创建。对于一个复数 z,分别使用 z.real 和 z.imag 获得实部和虚部。

操作 结果
x + y x 和 y 的和
x - y x 和 y 的差
x * y x 和 y 的积
x / y x 和 y 的商
x // y x 和 y 的商向下取整
x % y x / y 的余数
-x x 的相反数
+x x
abs(x) x 的绝对值
int(x) 把 x 转化成整数
float(x) 把 x 转化成浮点数
complex(re, im) 把 re 转化成实部,im 转化成虚部
c.conjugate() 复数 c 的共轭复数
divmod(x, y) 元组(x // y, x % y)
pow(x, y) x 的 y 次方
x ** y x 的 y 次方

数字类型操作运算:

操作 结果
x + y x 和 y 的和
x - y x 和 y 的差
x * y x 和 y 的积
x / y x 和 y 的商
x // y x 和 y 的商向下取整
x % y x / y 的余数
-x x 的相反数
+x x
abs(x) x 的绝对值
int(x) 把 x 转化成整数
float(x) 把 x 转化成浮点数
complex(re, im) 把 re 转化成实部,im 转化成虚部
c.conjugate() 复数 c 的共轭复数
divmod(x, y) 元组(x // y, x % y)
pow(x, y) x 的 y 次方
x ** y x 的 y 次方

10.3.5 迭代器和生成器类型

iterator.__iter__()
iterator.__next__()

10.3.6 序列类型 - list,tuple,range

  1. 序列类型操作运算:
操作 结果
x in s 如果 x 是 s 子串,返回真,否则假
x not in s 如果 x 不是 s 子串,返回真,否则假
s + t 连接 s 和 t
s * n 或 n * s 重复 n 次 s
s[i] s 的第 i 项,从 0 开始
s[i: j] 切片,从 s 的 第 i 项到第 j - 1 项
s[i: j: k] 切片,以步长 k 从 s 的 第 i 项到第 j - 1 项
len(s) s 的长度
min(s) s 的最小项
max(s) s 的最大项
s.index(x[, i[, j]]) x 在 s 中第一次出现的位置,在 s 的 i 到 j-1 之间
s.count(x) x 在 s 中出现的次数
  1. 可变序列操作运算:
操作 结果
s[i] = x 用 x 替换 s 中的第 i 项
s[i: j] = t 用可迭代 t 替换切片 s 从 i 到 j-1
del s[i: j] 删除切片 s 从 i 到 j-1,等价于 s[i: j] = [ ]
s[i: j: k] = t 用 t 替代 s[i: j: k] 中的元素
del s[i: j: k] 删除 s[i: j: k] 中的元素
s.append(x) 把 x 添加到序列末尾,等价于 s[len(s): len(s)] = [x]
s.clear() 移除 s 所有元素,等价于 del s[:]
s.copy() 创建 s 的副本,等价于 s[:]
s.extend(t) 或 s += t 把 t 添加到 s,等价于 s[len(s): len(s)] = t
s *= n 更新并重复 n 次 s
s.insert(i, x) 把 x 插入到 s 的第 i 个位置
s.pop([i]) 从 s 中移除第 i 个位置的元素,默认是最后一个
s.remove(x) 移除在 s 中出现的第一个 x
s.reverse() 把 s 的所有元素反转
  1. 列表 - Lists
    创建列表的方法:
    (1)使用一对中括号创建一个空列表:[ ]
    (2)使用一对中括号,元素之间用逗号分隔:[a]或[a, b, c]
    (3)使用一个列表理解:[x for x in iterable]
    (4)使用类型构造函数:list() 或 list(iterable)

  2. 元组 - Tuples
    创建元组的方法:
    (1)使用一对小括号创建一个空元祖:( )
    (2)使用一个逗号创建只有一项的元组:a, 或(a,)
    (3)使用逗号分隔:a, b, c 或 (a, b, c)
    (4)使用内置 tuple() 函数:tuple() 或 tuple(iterable)

  3. 随机序列 - Ranges
    class range(stop)
    class range(start, stop[, step])

10.3.7 文本序列类型 - str

字符串表示形式:
(1)单引号:'允许包含"双"引号'
(2)双引号:"允许包含'单'引号"
(3)三引号:'''三单引号''' 或 """三双引号"""

10.3.8 二进制序列类型 - bytes,bytearray,memoryview

  1. bytes 表示形式:
    (1)单引号:b'允许包含"双"引号'
    (2)双引号:b"允许包含'单'引号"
    (3)三引号:b'''三单引号''' 或 b"""三双引号"""

  2. bytearray 表示形式:
    (1)创建一个空实例:bytearray()
    (2)创建一个给定长度的0填充实例:bytearray(10)
    (3)从一个整型可迭代对象创建:bytearray(range(20))
    (4)从一个存在的二进制数据复制:bytearray(b'Hi!')

  3. memoryview 表示形式:
    使用 memoryview()

10.3.9 集合类型 - set,frozenset

10.3.10 字典类型 - dict

10.3.11 上下文管理器类型

使用 with

10.3.12 其他内置类型

  1. 模块 - Modules
  2. 类和类实例 - Classes,Class Instances
  3. 函数 - Functions
  4. 方法 - Methods
  5. 代码对象 - Code Objects
  6. 类型对象 - Type Objects
  7. 空值对象 - Null Object
  8. 省略对象 - Ellipsis Object
  9. 非实现对象 - NotImplemented Obejct
  10. 布尔值 - Boolean Values
  11. 内部对象 - Internal Objects

10.3.13 特殊属性 - Special Attributes

10.4 内置异常类型

BaseException
 +-- SystemExit
 +-- KeyboardInterrupt
 +-- GeneratorExit
 +-- Exception
      +-- StopIteration
      +-- StopAsyncIteration
      +-- ArithmeticError
      |    +-- FloatingPointError
      |    +-- OverflowError
      |    +-- ZeroDivisionError
      +-- AssertionError
      +-- AttributeError
      +-- BufferError
      +-- EOFError
      +-- ImportError
      |    +-- ModuleNotFoundError
      +-- LookupError
      |    +-- IndexError
      |    +-- KeyError
      +-- MemoryError
      +-- NameError
      |    +-- UnboundLocalError
      +-- OSError
      |    +-- BlockingIOError
      |    +-- ChildProcessError
      |    +-- ConnectionError
      |    |    +-- BrokenPipeError
      |    |    +-- ConnectionAbortedError
      |    |    +-- ConnectionRefusedError
      |    |    +-- ConnectionResetError
      |    +-- FileExistsError
      |    +-- FileNotFoundError
      |    +-- InterruptedError
      |    +-- IsADirectoryError
      |    +-- NotADirectoryError
      |    +-- PermissionError
      |    +-- ProcessLookupError
      |    +-- TimeoutError
      +-- ReferenceError
      +-- RuntimeError
      |    +-- NotImplementedError
      |    +-- RecursionError
      +-- SyntaxError
      |    +-- IndentationError
      |         +-- TabError
      +-- SystemError
      +-- TypeError
      +-- ValueError
      |    +-- UnicodeError
      |         +-- UnicodeDecodeError
      |         +-- UnicodeEncodeError
      |         +-- UnicodeTranslateError
      +-- Warning
           +-- DeprecationWarning
           +-- PendingDeprecationWarning
           +-- RuntimeWarning
           +-- SyntaxWarning
           +-- UserWarning
           +-- FutureWarning
           +-- ImportWarning
           +-- UnicodeWarning
           +-- BytesWarning
           +-- ResourceWarning

10.5 日期类型

模块 描述
datetime 基本日期和时间类型
calendar 通用日历相关函数
collections 容器数据类型
collections.abc 抽象基类容器
heapq 堆栈类算法
bisect 矩阵二分算法
array 高效的数值数组
weakref 弱引用
types 动态类型创建和内置类型名称
copy 浅复制和深复制
pprint 优质数据打印
reprlib 交替 repr() 实现
enum 枚举支持

10.6 数值和数学模块

模块 描述
numbers 数值抽象基类
math 数学函数
cmath 复数数学函数
decimal 十进制定点和浮点运算
fractions 有理数
random 生成伪随机数
statistics 数理统计函数

10.7 功能编程模块

模块 描述
itertools 创建高效循环的迭代器函数
functools 高阶函数及其在可调用对象上的操作
operator 标准操作函数

10.8 访问文件和目录

模块 描述
pathlib 面向对象的文件系统路径
os.path 常用路径名操作
fileinput 遍历多行输入流
stat 解释 stat() 结果
filecmp 比较文件和目录
tempfile 生成临时文件和目录
glob Unix 风格路径名模式扩展
fnmatch Unix 文件名模式匹配
lincache 随机访问文本行
shutil 高级文件操作
macpath Mac 9 路径操作函数

10.9 数据持久化

模块 描述
pickle Python 对象序列化
copyreg 注册 pickle 支持函数
shelve Python 对象持久化
marshal 内部 Python 对象序列化
dbm Unix 数据库接口
sqlite3 SQLite 数据库 DB-API 2.0 接口

10.10 数据压缩和归档

模块 描述
zlib 兼容 gzip 的压缩
gzip 支持 gzip 文件
bz2 支持 bzip2 压缩
lzma 使用 LZMA 算法压缩
zipfile 与 ZIP 文档工作
tarfile 读写 tar 文档文件

10.11 文件格式

模块 描述
csv CSV 文件读写
configparser 配置文件解析器
netrc netrc 文件处理
xdrlib 编解码 XDR 数据
plistlib 生成和解析 Mac OS X .plist 文件

10.12 加密服务

模块 描述
hashlib 安全离散和消息摘要
hmac 用于消息认证的密钥离散
secrets 生成用于管理秘密的安全随机数

10.13 通用操作系统服务

模块 描述
os 操作系统接口
io 与流一起工作的核心工具
time 时间访问与转换
argparse 命令行选项、参数和子命令的解析器
getopt C 样式的命令行选项解析器
logging Python 日志设备
logging.config 配置日志
logging.handlers 日志处理程序
getpass 便携式密码输入
curses 字符单元显示器的终端处理
curses.textpad 文本输入部件程序
curses.ascii ASCII 输入的实用工具
surses.panel 面板堆栈扩展
platform 访问底层平台的标识数据
errno 标准 errno 系统符号
ctypes Python 的一个异域函数库

10.14 并行计算

模块 描述
threading 基于线程的并行性
multiprocessing 基于过程的并行性
concurrent concurrent 包
concurrent.futures 启动并行任务
subprocess 子过程管理
sched 时间调度器
queue 同步队列类
dummy_threading 更换 threading 模块
_thread 低层线程 API
_dummy_thread 更换 _thread 模块

10.15 进程间通信与网络化

模块 描述
socket 底层网络接口
ssl 套接字对象的 TSL/SSL 包装器
select 等待 I/O 完成
selectors 高级 I/O 复用
asyncio 异步I/O、事件循环、协同程序和任务
asyncore 异步套接字处理程序
asynchat 异步套接字命令/响应处理器
signal 设置异步事件的处理程序
mmap 内存映射文件支持

10.16 互联网数据处理

模块 描述
email 电子邮件和 MIME 处理包
json JSON 编解码
mailcap Mailcap 文件处理
mailbox 操作各种格式的邮箱
mimetypes 将文件名映射到MIME类型
base64 Base16, Base32, Base64, Base85 数据编码
binhex 编解码 binhex4 文件
binascii 二进制和 ASCII 转换
quopri 对MIME引用的可打印数据进行编解码
uu 编解码 uuencode 文件

10.17 结构化标记处理工具

模块 描述
html 支持 HTML
html.parser 简单 HTML 和 HTML 解析器
html.entities HTML通用实体的定义
xml XML 处理模块
xml.etree.ElementTree XML 元素树 API
xml.dom XML DOM
xml.dom.minidom XML 最小 DOM 实现
xml.dom.pulldom XML 支持部分 DOM 树的构建
xml.sax XML 支持 SAX2 解析器
xml.sax.handler XML SAX 处理程序的基类
xml.sax.saxutils XML SAX 实用工具
xml.sax.xmlreader XML 解析器接口
xml.parsers.expat 使用 Expat 快速 XML 解析

10.18 因特网协议与支持

模块 描述
webbrowser 方便的Web浏览器控制器
cgi 公共网关接口支持
cgitb CGI 脚本回溯管理器
wsgiref WSGI 实用工具和参考实现
urllib URL 处理模块
urllib.request 打开 URL 的扩展库
urllib.response urllib 使用的响应类
urllib.parse 将 URL 解析成组件
urllib.error 由 urllib 请求引发的异常类
urllib.robotparser robots.txt 解析器
http HTTP 模块
http.client HTTP 协议客户端
ftplib FTP 协议客户端
poplib POP3 协议客户端
imaplib IMAP4 协议客户端
nntplib NNTP 协议客户端
smtplib SMTP 协议客户端
smtpd SMTP 服务器
telnetlib Telnet 客户端
uuid RFC 4122 UUID 对象
socketserver 网络服务器架构
http.server HTTP 服务
http.cookies HTTP 状态管理
http.cookiejar HTTP 客户端的 Cookie 处理
xmlrpc XMLRPC 服务器和客户端模块
xmlrpc.client XML- RPC客户端访问
xmlrpc.server 基本 XML- RPC 服务器
ipaddress IPv4/IPv6 操作库

10.19 多媒体服务

模块 描述
audioop 操纵原始音频数据
aifc 读写 AIFF 和 AIFC 文件
sunau 读写 Sun AU 文件
wave 读写 WAV 文件
chunk 读取 IFF 块数据
colorsys 颜色系统之间的转换
imghdr 确定图像的类型
sndhdr 确定声音文件的类型
ossaudiodev 访问 OSS 兼容音频设备

10.20 国际化

模块 描述
gettext 多语种国际化服务
locale 国际化服务

10.21 程序框架

模块 描述
turtle 龟标制图
cmd 支持命令行解释器
shlex 简单词法分析

10.22 带有TK的图形用户界面

模块 描述
tkinter Tcl/Tk 的 Python 接口
tkinter.ttk Tk主题控件
tkinter.tix TK 的扩展小部件
tkinter.scrolledtext 滚动文本控件
IDLE Python 的集成开发和学习环境
Other Graphical User Interface Packages 其他图形用户界面包

10.23 开发工具

模块 描述
typing 支持类型提示
pydoc 文档生成器和在线帮助系统
doctest 测试交互 Python 示例
unittest 单元测试框架
unittest.mock 模拟对象库
unittest.mock 开始使用模拟对象库
2to3 自动 Python 2 到 3 代码翻译
test Python 回归测试包
test.support Python 测试套件的实用工具

10.24 调试与分析

模块 描述
bdb 调试器框架
faulthandler 转储 Python 回溯
pdb Python 调试器
The Python Profilers Python 分析器
timeit 测量小代码段的执行时间
trace 跟踪 Python 语句执行
tracemalloc 跟踪内存分配

10.25 软件包装与分发

模块 描述
distutils 构建和安装 Python 模块
ensurepip 引导 pip 安装程序
venv 虚拟环境的创建
zipapp 管理可执行的 Python 压缩文件

10.26 Python 运行时服务

模块 描述
sys 系统特定参数和功能
sysconfig 提供对 Python 配置信息的访问
builtins 内置对象
main 顶级脚本环境
warnings 警告控制
contextlib 具有语句上下文的实用工具
abc 抽象基类
atexit 退出处理程序
traceback 打印或检索堆栈回溯
future 未来语句定义
gc 垃圾收集器接口
inspect 检查活体物体
site 站点特定配置钩子
fpectl 浮点异常控制

10.27 自定义 Python 解释器

模块 描述
code 解释器基类
codeop 编译 Python 代码

10.28 导入模块

模块 描述
zipimport 从 Zip 档案导入模块
pkgutil 软件包扩展实用程序
modulefinder 查找脚本使用的模块
runpy 定位和执行 Python 模块
importlib 实现导入

10.29 Python 语言服务

模块 描述
parser 访问 Python 解析树
ast 抽象语法树
symtable 访问编译器的符号表
symbol 与 Python 解析树一起使用的常数
token 与 Python 解析树一起使用的常数
keyword Python 关键字的测试
tokenize Python 信源记录器
tabnanny 模糊压痕检测
pyclbr Python类浏览器支持
py_compile 编译 Python 源文件
compileall 字节编译 Python 库
dis Python 字节码反汇编程序
pickletools pickle 开发工具

10.30 杂项服务

模块 描述
formatter 通用输出格式

10.31 微软 Windows 特定服务

模块 描述
msilib 读写微软安装程序文件
msvcrt MS VC++ 运行时的有用例程
winreg Windows 注册表访问
winsound Windows 的声音播放界面

10.32 Unix 特定服务

模块 描述
posix 最常见的 POSIX 系统调用
pwd 密码数据库
spwd 浅层密码数据库
grp 群数据库
crypt 检查 Unix 密码函数
termios POTX 风格 tty 控件
tty 终端控制函数
pty 伪终端实用程序
fcntl fcntl 和 ioctl 系统调用
pipes 管道接口
resource 资源使用信息
nis Sun NIS 接口(黄页)
syslog Unix 系统日志库例程

10.33 取代模块

模块 描述
optparse 命令行选项解析器
imp 访问 import 内部

10.34 无证模块

模块 描述
Platform specific modules 平台特定模块

你可能感兴趣的:(第10章 Python 标准库)