Python的标准库介绍与常用的第三方库
Python的标准库介绍与常用的第三方库
Python的标准库:
datetime:为日期和时间的处理提供了简单和复杂的方法。
zlib:以下模块直接支持通用的数据打包和压缩格式:zlib,gzip,bz2,zipfile和 tarfile。
random:提供了生成随机数的工具。
math:为浮点运算提供了对底层C函数库的访问。
sys:工具脚本经常调用的命令行参数。这些命令行参数以链表形式存储于 sys 模块的 argv 变量。
glob:提供了一个函数,用于从目录通配符搜索中生成文件列表。
os:提供了许多与操作系统相关联的函数。
re:为高级字符串处理提供了正则表达式工具。
这里以math库和random库为例进行详细介绍:
math库中常用的数学函数:
圆周率pi:∏的近似值,15位小数。
自然数e:e的近似值,15位小数。
ceil(x):对浮点数向上取整。
floor(x):对浮点数向下取整。
pow(x,y):计算x的y次方。
log(x):以e为基的对数。
log10(x):以10为基的对数。
sqrt(x):平方根。
exp(x):e的x次幂。
degrees(x):将弧度值转换成角度。
radians(x) :将角度值转换位弧度值。
sin(x):正弦函数。
cos(x):余弦函数。
tan(x):正切函数。
asin(x):反正弦函数。
acos(x):反余弦函数。
atan(x):反正切函数。
import math print(math.pi) print(math.e) print(math.ceil(4.25)) print(math.floor(2.78)) print(math.pow(2,3)) print(math.log(math.e)) print(math.log10(5)) print(math.sqrt(9)) print(math.exp(2)) print(math.degrees(3)) print(math.radians(180)) print(math.sin(30)) print(math.cos(45)) print(math.tan(60)) print(math.asin(0.5)) print(math.acos(0.3)) print(math.atan(1.5))
运行结果:

random库中常用的函数:
seed(x):给随机数一个种子值seed(x),如果使用相同的seed(x)(即相同的种子值),则每次生成的随机数相同,如果不设置seed()值,则默认随机种子是系统时钟,系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。也可以说,seed的作用是让随机结果可重现。
random():生成一个[0,1.0)之间的随机小数。
uniform(a,b):生成一个a到b之间的随机小数。
randint(a,b):生成一个a到b之间的随机整数。
randrange(a,b,c):随机生成一个从a到b以c递增的数。
choice(< lsit >):从列表中随机返回一个元素。
shuffle(< list > ):将列表中的元素随机打乱。
sample(< list >, k):从指定列表随机获取k个元素。
import random #设置种子seed #生成同一个随机数 random.seed(5) print(random.random()) random.seed(5) print(random.random()) random.seed(5) print(random.random()) print() print(random.random()) print(random.uniform(1,5)) print(random.randint(2,10)) print(random.randrange(1,9,2)) ls=[1,3,5,7,9] print(random.choice(ls)) random.shuffle(ls) print(ls) print(random.sample(ls,3))
运行结果:

使用math库和random库计算一个圆锥的体积:
import math
import random
r=random.randint(1,5)
h=random.uniform(1,10)
v=math.pi*(r**2)*h/3
print('r=',r)
print('h=',h)
print('v=',v)
运行结果:

Python常用的第三方库:
Scrapy:爬虫工具常用库。
Requests:http库。
Pillow:是PIL(Python图形库)的一个分支。适用于图形领域。
matplotlib:用于绘制数据图。适用于数据分析。
OpenCV:图片识别,常用于练习人脸识别。
pytesseract:图片文字识别,即OCR识别 。
wxPython:Python的一个GUI(图形用户界面)工具。
Twisted:对于网络应用开发者最重要的工具。
SymPy:可用于代数评测、差异化、扩展、复数等。
SQLAlchemy:数据库相关的库。
SciPy:Python的算法和数学工具库。
Scapy:数据包探测和分析库。
pywin32:提供了与windows交互的方法和类的Python库。
pyQT:Python的一个GUI工具。不过Python脚本开发用户界面时一般优先选择wxPython。
pyGtk:Python 的一个GUI库。
Pyglet:用于3D动画和游戏开发引擎。
Pygame:开发2D游戏时使用效果较好。
NumPy:为Python提供了很多高级的数学方法。
nose Python:Python的测试框架。
nltk:自然语言工具包。
IPython:Python的提示信息。包括完成信息、历史信息、shell功能等。
BeautifulSoup xml和html的解析库,适用于新手学习。
参考资料:
https://www.runoob.com/python3/python3-stdlib.html
Python的标准库介绍与常用的第三方库的更多相关文章
- 【转】个人常用iOS第三方库以及XCode插件介绍 -- 不错
原文网址:http://adad184.com/2015/07/08/my-favorite-libraries-and-plugins/ 第三方库是现在的程序员离不开的东西 不光是APP开发 基本上 ...
- [置顶] android利用jni调用第三方库——第二篇——编写库android程序直接调用第三方库libhello.so
0:前言 1:本文主要作为丙方android公司的身份来写 2:作者有不对的地方,请指出,谢谢 [第一篇:android利用jni调用第三方库——编写库libhello.so] [第二篇:androi ...
- android调用第三方库——第二篇——编写库android程序直接调用第三方库libhello.so (转载)
转自:http://blog.csdn.net/jiuyueguang/article/details/9449737 版权声明:本文为博主原创文章,未经博主允许不得转载. 0:前言 1:本文主要作为 ...
- 常用iOS第三方库以及XCode插件介绍
第三方库 CocoaPod CocoaPod并不是iOS上的第三方库 而是大名鼎鼎的第三方库的管理工具 在CocoaPod没有出现之前 第三方库的管理是非常痛苦的 尤其是一些大型的库(比如nimbus ...
- 个人常用iOS第三方库以及XCode插件介绍
第三方库 CocoaPod CocoaPod并不是iOS上的第三方库 而是大名鼎鼎的第三方库的管理工具 在CocoaPod没有出现之前 第三方库的管理是非常痛苦的 尤其是一些大型的库(比如nimbus ...
- Python常用的第三方库
最近学习python 做些数据挖掘相关的练习,涉及到很多第三方的库,所以做一总结. Setuptools 可以让程序员更方便的创建和发布 Python 包,特别是那些对其它包具有依赖性的状况. 我特别 ...
- 20个必不可少的Python库也是基本的第三方库
个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们是: Requests.Kenneth Reitz写的最富盛名的http库.每个Python程序员都应该有它. Scrapy. ...
- iOS 中 常用的第三方库
现在对于我们 iOS 开发来说,基本上说不可能不使用第三方轮子啦,毕竟没那么多时间,而且自己造的轮子往往想着成为上图中的最后一个,结果却成了上图中第二个或第一个啦,当然大公司另当别论.下面我从之前用过 ...
- ios常用的第三方库
ios开发中有可能用到的第三方库进行记录一下: 注:资料信息来源于网络 自己整理 https://developer.apple.com/reference(苹果官方文档) https://gith ...
随机推荐
- 从源码看Nacos的设计
目录 客户端与集群的交互 数据同步 实例信息同步 服务集群信息 关于priv-raft协议 Nacos集群在k8s中的实践 这片博文来源于我在公司部门内的分享,我隐去了和公司项目相关的部分,重新整理, ...
- 【ES】338- ECMAScirpt 2019 新特性汇总
点击上方"前端自习课"关注,学习起来~ 最近在做的一个活动,大家都可以参与: 送 1600 元超大现金红包啦,走过路过不要错过哦 ~ 最近 ECMAScript2019,最新提案完 ...
- 【JS】307- 复习 Object.assign 原理及其实现
点击上方"前端自习课"关注,学习起来~ }let b = { name: "muyiy", book: { title: " ...
- Cisco packet tracer 的手动添加模块
在PacketTracer 里面,路由器都是基本配置,这和真实设备是相同的 基本配置里面2620只有一个以太网口: 而2621和2811在背板上有两个以太网接口 所以,你在show run里面可以看到 ...
- 小胖求学系列之-文档生成利器(上)-smart-doc
最近小胖上课总是挂着黑眼圈,同桌小张问:你昨晚通宵啦?小胖有气无力的说到:最近开发的项目接口文档没写,昨晚补文档补了很久,哎,昨晚只睡了2个小时.小张说:不是有生成文档工具吗,类似swagger2.s ...
- JS---封装缓动(变速)动画函数---增加任意一个属性
封装缓动(变速)动画---增加任意一个属性 1. 本来的变速动画函数,是获取特定的属性(之前案例是向右移动,所以获取的是left属性) 2. 现在改变为,获取任意一个属性,使其移动到指定的target ...
- js截取指定字符前面或后面的内容
function getCaption(obj,state) { var index=obj.lastIndexOf("\-"); if(state==0){ obj=obj.su ...
- 编译安装基于 fastcgi 模式的多虚拟主机的wordpress和discuz的LAMP架构
目录 实现CentOS 7 编译安装基于 fastcgi 模式的多虚拟主机的wordpress和discuz的LAMP架构 准备环境: 准备软件版本: 主机名修改用以区分 数据库服务器 实现数据库二进 ...
- 从源码角度看 PHP 字符串类型转换
PHP 的类型转换是比较方便的,但是越是容易使用的东西,底层的实现越是复杂,而且在使用中像我这样的新手也往往不清楚转换后的结果到底是什么.有时候,对于 Java 这种强类型的语言,使用的时候需要强制进 ...
- 8 种经常被忽视的 SQL 错误用法,你有没有踩过坑?
1.LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方.比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引 ...