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 内置常量
- False
- True
- None
- NotImplemented
- Ellipsis
- __debug__
10.3 内置数据类型
10.3.1 真值测试
以下内置对象被认为是 False:
- 定义为 False 的变量:None 和 False
- 数字0类型:0,0.0,0j,Decimal(0),Fraction(0, 1)
- 空序列和集合:’ ‘,( ),[ ],{ },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
- 序列类型操作运算:
操作 | 结果 |
---|
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 中出现的次数 |
- 可变序列操作运算:
操作 | 结果 |
---|
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 的所有元素反转 |
列表 – Lists
创建列表的方法:
(1)使用一对中括号创建一个空列表:[ ]
(2)使用一对中括号,元素之间用逗号分隔:[a]或[a, b, c]
(3)使用一个列表理解:[x for x in iterable]
(4)使用类型构造函数:list() 或 list(iterable)
元组 – Tuples
创建元组的方法:
(1)使用一对小括号创建一个空元祖:( )
(2)使用一个逗号创建只有一项的元组:a, 或(a,)
(3)使用逗号分隔:a, b, c 或 (a, b, c)
(4)使用内置 tuple() 函数:tuple() 或 tuple(iterable)
随机序列 – Ranges
class range(stop)
class range(start, stop[, step])
10.3.7 文本序列类型 – str
字符串表示形式:
(1)单引号:’允许包含”双”引号’
(2)双引号:”允许包含’单’引号”
(3)三引号:”’三单引号”’ 或 “””三双引号”””
10.3.8 二进制序列类型 – bytes,bytearray,memoryview
bytes 表示形式:
(1)单引号:b’允许包含”双”引号’
(2)双引号:b”允许包含’单’引号”
(3)三引号:b”’三单引号”’ 或 b”””三双引号”””
bytearray 表示形式:
(1)创建一个空实例:bytearray()
(2)创建一个给定长度的0填充实例:bytearray(10)
(3)从一个整型可迭代对象创建:bytearray(range(20))
(4)从一个存在的二进制数据复制:bytearray(b’Hi!’)
memoryview 表示形式:
使用 memoryview()
10.3.9 集合类型 – set,frozenset
10.3.10 字典类型 – dict
10.3.11 上下文管理器类型
使用 with
10.3.12 其他内置类型
- 模块 – Modules
- 类和类实例 – Classes,Class Instances
- 函数 – Functions
- 方法 – Methods
- 代码对象 – Code Objects
- 类型对象 – Type Objects
- 空值对象 – Null Object
- 省略对象 – Ellipsis Object
- 非实现对象 – NotImplemented Obejct
- 布尔值 – Boolean Values
- 内部对象 – 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 杂项服务
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 | 平台特定模块 |