第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 + yx 和 y 的和
x – yx 和 y 的差
x * yx 和 y 的积
x / yx 和 y 的商
x // yx 和 y 的商向下取整
x % yx / y 的余数
-xx 的相反数
+xx
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 ** yx 的 y 次方

数字类型操作运算:

操作结果
x + yx 和 y 的和
x – yx 和 y 的差
x * yx 和 y 的积
x / yx 和 y 的商
x // yx 和 y 的商向下取整
x % yx / y 的余数
-xx 的相反数
+xx
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 ** yx 的 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生成临时文件和目录
globUnix 风格路径名模式扩展
fnmatchUnix 文件名模式匹配
lincache随机访问文本行
shutil高级文件操作
macpathMac 9 路径操作函数

10.9 数据持久化

模块描述
picklePython 对象序列化
copyreg注册 pickle 支持函数
shelvePython 对象持久化
marshal内部 Python 对象序列化
dbmUnix 数据库接口
sqlite3SQLite 数据库 DB-API 2.0 接口

10.10 数据压缩和归档

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

10.11 文件格式

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

10.12 加密服务

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

10.13 通用操作系统服务

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

10.14 并行计算

模块描述
threading基于线程的并行性
multiprocessing基于过程的并行性
concurrentconcurrent 包
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 处理包
jsonJSON 编解码
mailcapMailcap 文件处理
mailbox操作各种格式的邮箱
mimetypes将文件名映射到MIME类型
base64Base16, Base32, Base64, Base85 数据编码
binhex编解码 binhex4 文件
binascii二进制和 ASCII 转换
quopri对MIME引用的可打印数据进行编解码
uu编解码 uuencode 文件

10.17 结构化标记处理工具

模块描述
html支持 HTML
html.parser简单 HTML 和 HTML 解析器
html.entitiesHTML通用实体的定义
xmlXML 处理模块
xml.etree.ElementTreeXML 元素树 API
xml.domXML DOM
xml.dom.minidomXML 最小 DOM 实现
xml.dom.pulldomXML 支持部分 DOM 树的构建
xml.saxXML 支持 SAX2 解析器
xml.sax.handlerXML SAX 处理程序的基类
xml.sax.saxutilsXML SAX 实用工具
xml.sax.xmlreaderXML 解析器接口
xml.parsers.expat使用 Expat 快速 XML 解析

10.18 因特网协议与支持

模块描述
webbrowser方便的Web浏览器控制器
cgi公共网关接口支持
cgitbCGI 脚本回溯管理器
wsgirefWSGI 实用工具和参考实现
urllibURL 处理模块
urllib.request打开 URL 的扩展库
urllib.responseurllib 使用的响应类
urllib.parse将 URL 解析成组件
urllib.error由 urllib 请求引发的异常类
urllib.robotparserrobots.txt 解析器
httpHTTP 模块
http.clientHTTP 协议客户端
ftplibFTP 协议客户端
poplibPOP3 协议客户端
imaplibIMAP4 协议客户端
nntplibNNTP 协议客户端
smtplibSMTP 协议客户端
smtpdSMTP 服务器
telnetlibTelnet 客户端
uuidRFC 4122 UUID 对象
socketserver网络服务器架构
http.serverHTTP 服务
http.cookiesHTTP 状态管理
http.cookiejarHTTP 客户端的 Cookie 处理
xmlrpcXMLRPC 服务器和客户端模块
xmlrpc.clientXML- RPC客户端访问
xmlrpc.server基本 XML- RPC 服务器
ipaddressIPv4/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的图形用户界面

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

10.23 开发工具

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

10.24 调试与分析

模块描述
bdb调试器框架
faulthandler转储 Python 回溯
pdbPython 调试器
The Python ProfilersPython 分析器
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 解析树一起使用的常数
keywordPython 关键字的测试
tokenizePython 信源记录器
tabnanny模糊压痕检测
pyclbrPython类浏览器支持
py_compile编译 Python 源文件
compileall字节编译 Python 库
disPython 字节码反汇编程序
pickletoolspickle 开发工具

10.30 杂项服务

模块描述
formatter通用输出格式

10.31 微软 Windows 特定服务

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

10.32 Unix 特定服务

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

10.33 取代模块

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

10.34 无证模块

模块描述
Platform specific modules平台特定模块
    原文作者:itroger
    原文地址: https://www.jianshu.com/p/9a466973907d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞