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的标准库介绍与常用的第三方库的更多相关文章

  1. 【转】个人常用iOS第三方库以及XCode插件介绍 -- 不错

    原文网址:http://adad184.com/2015/07/08/my-favorite-libraries-and-plugins/ 第三方库是现在的程序员离不开的东西 不光是APP开发 基本上 ...

  2. [置顶] android利用jni调用第三方库——第二篇——编写库android程序直接调用第三方库libhello.so

    0:前言 1:本文主要作为丙方android公司的身份来写 2:作者有不对的地方,请指出,谢谢 [第一篇:android利用jni调用第三方库——编写库libhello.so] [第二篇:androi ...

  3. android调用第三方库——第二篇——编写库android程序直接调用第三方库libhello.so (转载)

    转自:http://blog.csdn.net/jiuyueguang/article/details/9449737 版权声明:本文为博主原创文章,未经博主允许不得转载. 0:前言 1:本文主要作为 ...

  4. 常用iOS第三方库以及XCode插件介绍

    第三方库 CocoaPod CocoaPod并不是iOS上的第三方库 而是大名鼎鼎的第三方库的管理工具 在CocoaPod没有出现之前 第三方库的管理是非常痛苦的 尤其是一些大型的库(比如nimbus ...

  5. 个人常用iOS第三方库以及XCode插件介绍

    第三方库 CocoaPod CocoaPod并不是iOS上的第三方库 而是大名鼎鼎的第三方库的管理工具 在CocoaPod没有出现之前 第三方库的管理是非常痛苦的 尤其是一些大型的库(比如nimbus ...

  6. Python常用的第三方库

    最近学习python 做些数据挖掘相关的练习,涉及到很多第三方的库,所以做一总结. Setuptools 可以让程序员更方便的创建和发布 Python 包,特别是那些对其它包具有依赖性的状况. 我特别 ...

  7. 20个必不可少的Python库也是基本的第三方库

    个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们是: Requests.Kenneth Reitz写的最富盛名的http库.每个Python程序员都应该有它. Scrapy. ...

  8. iOS 中 常用的第三方库

    现在对于我们 iOS 开发来说,基本上说不可能不使用第三方轮子啦,毕竟没那么多时间,而且自己造的轮子往往想着成为上图中的最后一个,结果却成了上图中第二个或第一个啦,当然大公司另当别论.下面我从之前用过 ...

  9. ios常用的第三方库

    ios开发中有可能用到的第三方库进行记录一下: 注:资料信息来源于网络 自己整理  https://developer.apple.com/reference(苹果官方文档) https://gith ...

随机推荐

  1. 【MyBatis】ResultMap

    [MyBatis]ResultMap 转载:https://www.cnblogs.com/yangchongxing/p/10486854.html 支持的 JDBC 类型为了未来的参考,MyBat ...

  2. MySQL的安装、启动和基础配置 —— linux版本

    环境和资源地址 *** centos 7 *** http://repo.mysql.com/yum/mysql-5.6-community/ 安装 安装方式一(在线安装): # 查看和mysql有关 ...

  3. jvm面试题 新生代和 老年代的区别

    新生代和老年代的区别(阿里面试官的题目): 所谓的新生代和老年代是针对于分代收集算法来定义的,新生代又分为Eden和Survivor两个区.加上老年代就这三个区.数据会首先分配到Eden区 当中(当然 ...

  4. plsql修改某一行数据

    plsql修改某一行数据时, 在查询语句后面加上for update,再点击

  5. 【搞定Jvm面试】 JDK监控和故障处理工具揭秘

    本文已经收录自笔者开源的 JavaGuide: https://github.com/Snailclimb ([Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识)如果觉得不错 ...

  6. Redis Cluster 的数据分片机制

    上一篇<分布式数据缓存中的一致性哈希算法> 文章中讲述了一致性哈希算法的基本原理和实现,今天就以 Redis Cluster 为例,详细讲解一下分布式数据缓存中的数据分片,上线下线时数据迁 ...

  7. JVM系列四(内存分配策略).

    一.概要 前面的文章介绍了对象的创建过程,其中第三步 -- 分配内存,只是简单的介绍了分配的方式 -- 指针碰撞.空闲列表,其实内存在堆上分配还大有文章嘞. 对象的内存分配,往大方向上讲,就是在堆上分 ...

  8. 4. abp中的asp.net core模块剖析

    相关模块 AbpAspNetCoreModule AbpAspNetCoreMvcModule AbpAspNetCoreMvcContractsModule abp通过这三个模块加载并配置了 asp ...

  9. iOS----------证书的制作

    https://developer.umeng.com/docs/66632/detail/66748#createappid Certificates-> 卫生许可证 identifiers ...

  10. Comet OJ - Contest #11 B题 usiness

    ###题目链接### 题目大意:一开始手上有 0 个节点,有 n 天抉择,m 种方案,在每天中可以选择任意种方案.任意次地花费 x 个节点(手上的节点数不能为负),使得在 n 天结束后,获得 y 个节 ...