赞
踩
Python有一套标准库(standard library)。
安装python时,标准库随着Python解释器,一起安装在你的电脑中的,它是Python的一个组成部分。
标准库即Python自带模块,不需要单独安装。
详细参见: python标准库
一、python内置函数:
二、标准库的三个方面:Python增强,系统互动,以及网络。
re
— 正则表达式操作
在线正则表达式测试
python可以用正则表达式(regular expression)来处理字符串,正则表达式是一个字符串模板。
import re
a = re.findall("\d+","321dfdf41")
print(a)
# 输出打印['321', '41']
b = re.findall("\d","312fddf541")
print(b)
# 输出打印['3', '1', '2', '5', '4', '1']
注:其他实例参见此博客。
textwrap
—文本自动换行与填充
string
— 常见的字符串操作
difflib
— 计算差异的辅助工具
unicodedata
— Unicode 数据库
stringprep
— 因特网字符串预备
readline
— GNU readline 接口
readline模块定义了一系列函数用来读写Python解释器中历史命令,并提供自动补全命令功能。这个模块可以通过relcompleter模块直接调用,模块中的设置会影响解释器中的交互提示,以及内置函数raw_input()和input()提供的提示。
rlcompleter
— GNU readline 的补全函数
datetime
— 基本的日期和时间类型
datetime.date
类: date对象表示理想化日历中的日期(年、月和日), 公历1年1月1日被称为第一天,依次往后推。
datetime.time
类:表示一个(当地)时间对象,与任何特定的日期无关,并且可以通过tzinfo(时区)对象进行调整。
datetime.datetime
类:datetime对象包含date对象和time对象的所有信息
from datetime import datetime, time, date
# 输出
datetime.today(): 2021-04-06 16:53:12.080000
datetime.now(): 2021-04-06 16:53:12.080000
datetime.utcnow(): 2021-04-06 08:53:12.080000
datetime.fromtimestamp(1491468000): 2017-04-06 16:40:00
datetime.fromordinal(699000): 1914-10-19 00:00:00
datetime.combine(date(2012,12,12), time(12,12,12)): 2012-12-12 23:59:59
datetime.strptime("2012-12-10", "%Y-%m-%d"): 2012-12-10 00:00:00
其他实例参见此博客。
zoneinfo
— IANA 时区支持
calendar
— 日历相关函数
import calendar
cal = calendar.TextCalendar(calendar.SUNDAY)
print(cal.formatyear(2020, 2, 1, 1, 3))
collections
— 容器数据类型
Python数据结构常用模块:collections、heapq、operator、itertools
collections
常用类型有:计数器(Counter
),双向队列(deque
),默认字典(defaultdict
),有序字典(OrderedDict
),可命名元组(namedtuple
)
实例参见博客。
collections.abc
— 容器的抽象基类
heapq
— 堆队列算法
bisect
— 数组二分查找算法
array
— 高效的数值数组
weakref
— 弱引用
types
— 动态类型创建和内置类型名称
copy
— 浅层 (shallow) 和深层 (deep) 复制操作
Python中的赋值语句不复制对象,它们在目标和对象之间建立索引。对于可变项目或可变项目的集合,有时需要一个副本,以便可以更改一个副本而不更改其他副本。该模块提供通用的浅层和深层copy操作。
实例参考此博客。
pprint
— 数据美化输出
reprlib
— 另一种 repr() 实现
enum
— 对枚举的支持
graphlib
— Functionality to operate with graph-like structures
numbers
— 数字的抽象基类
math
— 数学函数
import math
print(dir(math))
# 打印输出:
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
cmath
— 关于复数的数学函数
复数在 Python 中的表达式为 C==c.real+c.imag*j
。
cmath 模块和 Python 中的 math 模块对应, math提供对于实数运算的支持, cmath 模块对复数运算和其他复杂运算的支持。
decimal
— 十进制定点和浮点运算
fractions
— 分数
random
— 生成伪随机数
random.random() #用于生成一个0到1的随机浮点数:0<= n < 1.0
random.uniform(a,b) #用于生成一个指定范围内的随机浮点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: b <= n <= a。如果 a <b, 则 a <= n <= b。
random.randint(a, b) #用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b
random.randrange([start], stop[, step]) #从指定范围内,按指定基数递增的集合中 获取一个随机数。
random.choice(sequence) #random.choice从序列中获取一个随机元素。
random.shuffle(x[, random]) #用于将一个列表中的元素打乱,即将列表内的元素随机排列。
random.sample(sequence, k) #从指定序列中随机获取指定长度的片断并随机排列。注意:sample函数不会修改原有序列。
statistics
— 数学统计函数
itertools
— 为高效循环而创建迭代器的函数functools
— 高阶函数和可调用对象上的操作operator
— 标准运算符替代函数pathlib
— 面向对象的文件系统路径os.path
— 常用路径操作fileinput
— 迭代来自多个输入流的行stat
— 解析 stat() 结果filecmp
— 文件及目录的比较tempfile
— 生成临时文件和目录glob
— Unix 风格路径名模式扩展fnmatch
— Unix 文件名模式匹配linecache
— 随机读写文本行shutil
— 高阶文件操作pickle
— Python 对象序列化copyreg
— 注册配合 pickle 模块使用的函数shelve
— Python 对象持久化marshal
— 内部 Python 对象序列化dbm
— Unix “数据库” 接口sqlite3
— SQLite 数据库 DB-API 2.0 接口模块zlib
— 与 gzip 兼容的压缩gzip
— 对 gzip 格式的支持bz2
— 对 bzip2 压缩算法的支持lzma
— 用 LZMA 算法压缩zipfile
— 使用ZIP存档tarfile
— 读写tar归档文件csv
— CSV 文件读写configparser
— 配置文件解析器netrc
— netrc 文件处理xdrlib
— 编码与解码 XDR 数据plistlib
— 生成与解析 Apple .plist 文件hashlib
— 安全哈希与消息摘要hmac
— 基于密钥的消息验证secrets
— 生成安全随机数字用于管理密码struct
— 将字节串解读为打包的二进制数据codecs
— 编解码器注册和相关基类os
— 多种操作系统接口io
— 处理流的核心工具argparse
— 命令行选项、参数和子命令解析器1.argparse模块可以让人轻松编写用户友好的命令行接口
2.自动生成帮助和使用手册
3.用户给程序传入无效参数时报出错误信息
如何使用argparse
首先导入这个包,argparse是python标准库,不需要安装;创建一个ArgumentParser对象,构造一个解析器parser。自定义description描述。
import argparse
parser = argparse.ArgumentParser(description="求长方形求面积")
parser.add_argument("a", type=int, help="长度")
parser.add_argument("b", type=int, help="宽度")
parser.add_argument("-i", "--info", help="我是可选参数")
调用add_argument()添加参数:
type表示接收的数据类型,不定义默认为str,此处需要计算面积,需要int类型;
help参数为提示信息,后面会看到效果;
再添加一个可选参数 --info -i 表示参数简写
args = parser.parse_args()
time
— 时间的访问和转换
getopt
— C 风格的命令行选项解析器
logging
— Python 的日志记录工具
logging.config
— 日志记录配置
logging.handlers
— 日志处理程序
getpass
— 便携式密码输入工具
curses
— 终端字符单元显示的处理
curses.textpad
— 用于 curses 程序的文本输入控件
curses.ascii
— 用于 ASCII 字符的工具
curses.panel
— curses 的面板栈扩展
platform
— 获取底层平台的标识数据
errno
— 标准 errno 系统符号
ctypes
— Python 的外部函数库
sys
— 系统相关的参数和函数
sys模块的常见函数列表
sys.argv: 实现从程序外部向程序传递参数。
sys.exit([arg]): 程序中间的退出,arg=0为正常退出。
sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。
sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding('utf8'),此时将系统默认编码设置为utf8。(见设置系统默认编码 )
sys.getfilesystemencoding(): 获取文件系统使用编码方式,Windows下返回'mbcs',mac下返回'utf-8'.
sys.path: 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
sys.platform: 获取当前系统平台。
sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们
sysconfig
— Provide access to Python’s configuration information
builtins
— 内建对象
__main__
— 顶层脚本环境
warnings
— Warning control
dataclasses
— 数据类
contextlib
— 为 with语句上下文提供的工具
abc
— 抽象基类
atexit
— 退出处理器
traceback
— 打印或检索堆栈回溯
__future__
— Future 语句定义
gc
— 垃圾回收器接口
inspect
— 检查对象
site
—— 指定域的配置钩子
threading
— 基于线程的并行
多线程模块threading,该模块支持守护线程,其工作方式:守护线程一般是一个等待客户端请求的服务器。如果没有客户端请求,守护线程就是空闲的。如果把一个线程设置为守护线程,就表示这个线程是不重要的,进程退出时不需要等待这个线程执行完成。
参看此博客。
multiprocessing
— 基于进程的并行
multiprocessing.shared_memory
— 可从进程直接访问的共享内存
concurrent
包
concurrent.future
s — 启动并行任务
subprocess
— 子进程管理
sched
— 事件调度器
queue
— 一个同步的队列类
_thread
— 底层多线程 API
webbrowser — 方便的Web浏览器控制器
cgi
— Common Gateway Interface support
cgitb — 用于 CGI 脚本的回溯管理器
wsgiref — WSGI Utilities and Reference Implementation
urllib — URL 处理模块
urllib.request — 用于打开 URL 的可扩展库
urllib.response — urllib 使用的 Response 类
urllib.parse — 用于解析 URL
urllib.error — urllib.request 引发的异常类
urllib.robotparser — robots.txt 语法分析程序
http — HTTP 模块
http.client — HTTP 协议客户端
ftplib — FTP 协议客户端
poplib — POP3 协议客户端
imaplib — IMAP4 协议客户端
nntplib — NNTP protocol client
smtplib —SMTP协议客户端
smtpd — SMTP 服务器
telnetlib — Telnet client
uuid — UUID objects according to RFC 4122
socketserver — A framework for network servers
http.server — HTTP 服务器
http.cookies — HTTP状态管理
http.cookiejar —— HTTP 客户端的 Cookie 处理
xmlrpc — XMLRPC 服务端与客户端模块
xmlrpc.client — XML-RPC client access
xmlrpc.server — Basic XML-RPC servers
ipaddress — IPv4/IPv6 操作库
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。