Python 语言官方的参考手册钟,介绍了与 Python 一同发行的标准库。
成都创新互联是创新、创意、研发型一体的综合型网站建设公司,自成立以来公司不断探索创新,始终坚持为客户提供满意周到的服务,在本地打下了良好的口碑,在过去的十多年时间我们累计服务了上千家以及全国政企客户,如成都石牌坊等企业单位,完善的项目管理流程,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致赞赏。
文本处理服务
string --- 常见的字符串操作
re --- 正则表达式操作
difflib --- 计算差异的辅助工具
textwrap --- 文本自动换行与填充
unicodedata --- Unicode 数据库
stringprep --- 因特网字符串预备
readline --- GNU readline 接口
rlcompleter --- GNU readline 的补全函数
二进制数据服务
struct --- 将字节串解读为打包的二进制数据
codecs --- 编解码器注册和相关基类
数据类型
datetime --- 基本日期和时间类型
zoneinfo --- IANA 时区支持
calendar --- 日历相关函数
collections --- 容器数据类型
collections.abc --- 容器的抽象基类
heapq --- 堆队列算法
bisect --- 数组二分查找算法
array --- 高效的数值数组
weakref --- 弱引用
types --- 动态类型创建和内置类型名称
copy --- 浅层 (shallow) 和深层 (deep) 复制操作
pprint --- 数据美化输出
reprlib --- 另一种 repr() 实现
enum --- 对枚举的支持
graphlib --- 操作类似图的结构的功能
数字和数学模块
numbers --- 数字的抽象基类
math --- 数学函数
cmath --- 关于复数的数学函数
decimal --- 十进制定点和浮点运算
fractions --- 分数
random --- 生成伪随机数
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 --- 配置文件解析器
tomllib --- Parse TOML files
netrc --- netrc 文件处理
plistlib --- 生成与解析 Apple .plist 文件
加密服务
hashlib --- 安全哈希与消息摘要
hmac --- 基于密钥的消息验证
secrets --- 生成管理密码的安全随机数
通用操作系统服务
os --- 多种操作系统接口
io --- 处理流的核心工具
time --- 时间的访问和转换
argparse --- 命令行选项、参数和子命令解析器
getopt --- C 风格的命令行选项解析器
logging --- Python 的日志记录工具
logging.config --- 日志记录配置
logging.handlers --- 日志处理程序
getpass --- 便携式密码输入工具
curses --- 终端字符单元显示的处理
curses.textpad --- 用于 curses 程序的文本输入控件
curses.ascii --- 用于 ASCII 字符的工具
curses.panel --- curses 的面板栈扩展
platform --- 获取底层平台的标识数据
errno --- 标准 errno 系统符号
ctypes --- Python 的外部函数库
并发执行
threading --- 基于线程的并行
multiprocessing --- 基于进程的并行
multiprocessing.shared_memory --- Shared memory for direct access across processes
concurrent 包
concurrent.futures --- 启动并行任务
subprocess --- 子进程管理
sched --- 事件调度器
queue --- 一个同步的队列类
contextvars --- 上下文变量
_thread --- 底层多线程 API
网络和进程间通信
asyncio --- 异步 I/O
socket --- 底层网络接口
ssl --- 套接字对象的 TLS/SSL 包装器
select --- 等待 I/O 完成
selectors --- 高级 I/O 复用库
signal --- 设置异步事件处理程序
mmap --- 内存映射文件支持
互联网数据处理
email --- 电子邮件与 MIME 处理包
json --- JSON 编码和解码器
mailbox --- 操作多种格式的邮箱
mimetypes --- 映射文件名到 MIME 类型
base64 --- Base16, Base32, Base64, Base85 数据编码
binascii --- 二进制和 ASCII 码互转
quopri --- 编码与解码经过 MIME 转码的可打印数据
结构化标记处理工具
html --- 超文本标记语言支持
html.parser --- 简单的 HTML 和 XHTML 解析器
html.entities --- HTML 一般实体的定义
XML处理模块
xml.etree.ElementTree --- ElementTree XML API
xml.dom --- 文档对象模型 API
xml.dom.minidom --- 最小化的 DOM 实现
xml.dom.pulldom --- 支持构建部分 DOM 树
xml.sax --- 支持 SAX2 解析器
xml.sax.handler --- SAX 处理句柄的基类
xml.sax.saxutils --- SAX 工具集
xml.sax.xmlreader --- 用于 XML 解析器的接口
xml.parsers.expat --- 使用 Expat 的快速 XML 解析
互联网协议和支持
webbrowser --- 方便的 Web 浏览器控制工具
wsgiref --- WSGI 工具和参考实现
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 协议客户端
smtplib --- SMTP 协议客户端
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 操作库
多媒体服务
wave --- 读写WAV格式文件
colorsys --- 颜色系统间的转换
国际化
gettext --- 多语种国际化服务
locale --- 国际化服务
程序框架
turtle --- 海龟绘图
cmd --- 支持面向行的命令解释器
shlex —— 简单的词法分析
Tk图形用户界面(GUI)
tkinter —— Tcl/Tk 的 Python 接口
tkinter.colorchooser --- 颜色选择对话框
tkinter.font --- Tkinter 字体封装
Tkinter 对话框
tkinter.messagebox --- Tkinter 消息提示
tkinter.scrolledtext --- 滚动文字控件
tkinter.dnd --- 拖放操作支持
tkinter.ttk --- Tk 风格的控件
tkinter.tix --- TK扩展包
一直对不同语言间的交互感兴趣,python和C语言又深有渊源,所以对python和c语言交互产生了兴趣。
最近了解了python提供的一个外部函数库 ctypes , 它提供了C语言兼容的几种数据类型,并且可以允许调用C编译好的库。
这里是阅读相关资料的一个记录,内容大部分来自 官方文档 。
ctypes 提供了一些原始的C语言兼容的数据类型,参见下表,其中第一列是在ctypes库中定义的变量类型,第二列是C语言定义的变量类型,第三列是Python语言在不使用ctypes时定义的变量类型。
创建简单的ctypes类型如下:
使用 .value 访问和改变值:
改变指针类型的变量值:
如果需要直接操作内存地址的数据类型:
下面的例子演示了使用C的数组和结构体:
创建指针实例
使用cast()类型转换
类似于C语言定义函数时,会先定义返回类型,然后具体实现再定义,当遇到下面这种情况时,也需要这么干:
可以简单地将"so"和"dll"理解成Linux和windows上动态链接库的指代,这里我们以Linux为例。注意,ctypes提供的接口会在不同系统上有出入,比如为了加载动态链接库, 在Linux上提供的是 cdll , 而在Windows上提供的是 windll 和 oledll 。
ctypes会寻找 _as_paramter_ 属性来用作调用函数的参数传入,这样就可以传入自己定义的类作为参数,示例如下:
用 argtypes 和 restype 来指定调用的函数返回类型。
这里我只是列出了 ctypes 最基础的部分,还有很多细节请参考官方文档。
这两天文章没有写,先是早出晚归出去玩了一整天,然后加班到凌晨3点左右,一天一篇计划划水得严重啊…
Python比较常见的库有:Arrow、Behold、Click、Numba、Matlibplot、Pillow等:
1、Arrow
Python中处理时间的库有datetime,但是它过于简单,使用起来不够方便和智能,而Arrow可以说非常的方便和智能。它可以轻松地定位几个小时之前的时间,可以轻松转换时区时间,对于一个小时前,2个小时之内这样人性化的信息也能够准确解读。
2、Behold
调试程序是每个程序员必备的技能,对于脚本语言,很多人习惯于使用print进行调试,然而对于大项目来说,print的功能还远远不足,我们希望有一个可以轻松使用,调试方便,对变量监视完整,格式已于查看的工具,而Behold就是那个非常好用的调试库。
3、Click
现在几乎所有的框架都有自己的命令行脚手架,Python也不例外,那么如何快速开发出属于自己的命令行程序呢?答案就是使用Python的Click库。Click库对命令行api进行了大量封装,你可以轻松开发出属于自己的CLI命令集。终端的颜色,环境变量信息,通过Click都可以轻松进行获取和改变。
4、Numba
如果你从事数学方面的分析和计算,那么Numba一定是你必不可少的库。Numpy通过将高速C库包装在Python接口中来工作,而Cython使用可选的类型将Python编译为C以提高性能。但是Numba无疑是最方便的,因为它允许使用装饰器选择性地加速Python函数。
5、Matlibplot
做过数据分析,数据可视化的数学学生一定知道matlab这个软件,这是一个收费的数学商用软件,在Python中,Matlibplot就是为了实现这个软件中功能开发的第三方Python库。并且它完全是免费的,很多学校都是用它来进行数学教学和研究的。
6、Pillow
图像处理是任何时候我们都需要关注的问题,平时我们看到很多ps中的神技,比如调整画面颜色,饱和度,调整图像尺寸,裁剪图像等等,这些其实都可以通过Python简单完成,而其中我们需要使用的库就是Pillow。
7、pyqt5
Python是可以开发图形界面程序的。而pyqt就是一款非常好用的第三方GUI库,有了它,你可以轻松开发出跨平台的图形应用程序,其中qtdesigner设计器,更是加速了我们开发图形界面的速度。
除了上述介绍的之外,Python还有很多库,比如:Pandas、NumPy、SciPy、Seaborn、Keras等。
文章题目:python函数库介绍 pythonmath库函数
转载源于:https://www.cdcxhl.com/article26/docjcjg.html
成都网站建设公司_创新互联,为您提供网站导航、小程序开发、响应式网站、移动网站建设、搜索引擎优化、用户体验
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联