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 |
平台特定模块 |
网友评论