【Python基础知识库】Python常用库

  • 标准库

    网友总结参考

    官网中文参考

    os:提供了不少于操作系统相关联的函数  

    sys:通常用于命令行参数

    res:正则表达式操作

    math:数学运算

    decimal:十进制定点和浮点运算

    datetime:日期时间

    collections:容器数据类型

    json:JSON 编码和解码器

    base64:Base16, Base32, Base64, Base85 数据编码
    
    heapq:堆队列算法

    copy:复制

    threading:基于线程的并行

    multiprocessing:基于进程的并行

    subprocess:子进程管理

    queue:一个同步的队列类

    random:生成伪随机数

    pprint:数据美化输出

    itertools:为高效循环而创建迭代器的函数

    functools:高阶函数和可调用对象上的操作

    operator:标准运算符替代函数

    logging:Python 的日志记录工具

    hashlib:安全哈希与消息摘要

    pickle:Python 对象序列化

    html.parser:简单的 HTML 和 XHTML 解析器

    urllib:URL 处理模块

    traceback:打印或检索堆栈回溯

    __future__:Future 语句定义

    gc:垃圾回收器接口
  • 科学计算与数据分析库

    numpy:科学计算包,支持N维数组运算、处理大型矩阵、成熟的广播函数库、矢量运算、线性代数、傅里叶变换、随机数生成,并可与C++/Fortran语言无缝结合。

    scipy:建立在NumPy基础上,它是离散傅立叶变换、线性代数、优化和稀疏矩阵等多种高级科学和工程模块最有用的库之一。

    pandas:主要用于结构化数据的运算和操作,广泛用于数据整理和预处理,其有助于提高Python在数据科学社区的使用。

    matplotlib:主要用于绘制各种各样的图形,从直方图到线图、热力图,还可以使用Latex命令在图像中添加数学符号。

    Scikit:主要用于机器学习,该库建立在NumPy、SciPy和matplotlib基础上,包含许多有效的机器学习和统计建模工具,如分类、回归、聚类和降维。

    Statsmodels:用于统计建模,是一个Python中提供用户探索数据、估计统计模型和执行统计测试的模组。可用于不同类型数据的描述性统计,统计测试,绘图功能和结果统计。

    Seaborn:用于数据可视化,是一个用于在Python中制作有吸引力和翔实的统计图形库。它是基于matplotlib。Seaborn旨在使可视化成为探索和理解数据的核心组成。

    Bokeh:用于在现代网络浏览器上创建交互式图表,仪表盘和数据应用程序。它赋予用户以D3.js的风格生成优雅简洁的图形。此外,它具有超大型或流式数据集的高性能交互能力。

    Blaze: 将Numpy和Pandas的能力扩展到分布式和流式传输数据集。它可以用于从众多来源包括Bcolz,MongDB,SQLAlchemy,Apache Spark,PyTables等访问数据,与Bokeh一起,可以作为在矩形数据模块上创建有效可视化和仪表盘的强大的工具。

    Sympy:用于符号计算,具有从基本算数符号到微积分、袋鼠、离散数学和量子物理学的广泛能力,另一个有用的功能是将计算结果格式化为LaTeX代码。

  • 第三方库

    pymysqldb:是在 Python2.x 版本中用于连接 MySQL 服务器的一个库,导包:import MySQLdb。

    PyMySQL:是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,导包:import pymysql,当要向下兼容python2时,可以加上:

    import pymysql
    pymysql.install_as_MySQLdb()
    import MySQLdb
    
    # 创建一个连接对象,再使用创建游标
    con = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='1234', db='mysql')
    cursor = con.cursor()
    
    # 执行一个SQL语句
    sql = "select * from user"
    cursor.execute(sql)
    
    # 从游标中取出所有记录放到一个序列中并关闭游标
    result = cursor.fetchall()
    print(result)
    cursor.close()
    

    djano:是一个高层次的web开发框架,特点是开发快、代码少。可扩展性强。采用MTV(Model、Template、View)模型组织资源,框架功能丰富,模板扩展选择最多。

    flask: 是一个web开发的微框架,严格来说,它仅仅提供web服务器支持,不提供全栈开发支持。然而,Flask非常轻量、非常简单,特别适合小微原型系统的开发,耗时少,开发效率高。

    Tornado:是一个基于异步网络功能库的Web开发框架,能够支持几万个开放连接,Web服务比较稳定。比较适合高并发场景下的Web系统,如秒杀系统、抢票系统等,灵活性较差。

    Falcon:是一个支持大规模微服务API或移动App后端响应的web开发框架,它完全基于python并提供了非常高性能、可靠性和可扩展性。

    Pyramid:是一个扩展性很强且灵活的web开发框架,上手十分容易,比较适合中等规模且边开发边设计的场景。它不提供绝对严格的框架定义,根据需求可以扩展开发,对高阶程序员十分友好。

    Quart:是面向ASGI(异步服务器网关接口)开发的web为框架,采用Flask兼容的API接口,提供非常轻量级的开发方式。

    requests:用于Web访问,类似于python标准库的urllib2,更容易更方便上手,适合初学者。

    scrapy: 用于网络爬虫,它是获取特定模式数据的非常有用的框架,从网站首页URL开始,然后挖掘网站内的网页内容来手机信息。

    selenium:是一个用于测试网站的自动化工具,支持Chrome、Firefox、Safari等主流界面浏览器,同时也支持PhantomJS无界面浏览器。

    celery:是一个由python编写的简单、灵活、可靠的用于处理大量信息的分布式系统,它同时提供操作和维护分布式所需的工具,专注于实时任务,支持任务调度。是一个分布式队列管理工具,可以用celery提供接口快速实现并管理一个分布式任务队列。

你可能感兴趣的:(Python,Python基础知识库)