设计一个单选题考试程序python_Python123计算机等级考试二级Python语言与程序设计通关指南七Python 计算生态...

时间:2024-10-22 07:07:50

请注意看红色标识文字,图片均是超清图片,可以单击查看

看见更大的世界,遇见更好的自己

See a better world to meet better for ourselves.

----MMdnn 是一个深度学习的模型工具集,它能够互转模型文件、可视化模型结构、自动产生训练/推演的代码、辅助测试模型兼容性等。

2.Matplotlib----Matplotlib 是一个高质量数据二维可视化的功能库,它支持几百种数据可视化展示型效果,已经成为该领域的事实标准库,不掌握它都不敢说懂数据处理!

----ONNX 是通向AI开发者生态的第一步,它提供了一种开放的深度学习模型格式,帮助用户在 CNTK、PyTorch、Caffe2、MXNet 等框架间协同工作。 ----SciPy 提供了一组支持金融、数学、统计、信号处理等领域常用计算功能的函数,如三次样条插值、数值积分、图像处理等,搭配 Matplotlib 可视化工具包效果更好哦! ----filecmp 是 Python 标准库之一,提供了用于比较文件或文件夹的一组函数,这些函数能够通过不同参数的配置在比较时间和准确性间进行平衡。 ----itchat 是针对个人微信网页版的完整功能库,从此,编写微信机器人不要太简单了,30行左右代码就能完成消息处理。 ----pyserial 封装了串口通信功能,可以采用相同代码在 Windows、OSX、Linux、BSD 等不同操作系统上开展串口通信,让硬件开发更轻松。 ----写程序经常遇到一个场景,当程序失败时需要多次重试某些操作,这种情况下,如果想不关心重试逻辑并优雅的“再来一次”,retrying 就是必会之一。 ----seaborn 提供了一个高抽象层次和高质量的数据可视化功能库,它基于 matplotlib 开发,能够与 numpy 和 pandas 等众多数据处理明星库协同使用。 ----turtle 是最重要的 Python 标准库之一,提供了利用海龟绘图原理进行基本图形绘制的众多功能。turtle 是编程入门必学内容之一。 ----Bokeh 是针对 Web 浏览器的交互式数据可视化 Python 第三方库,即它能够直接产生带有数据可视化效果的 Web 页面。Bokeh 支持大规模数据和流式数据可视化操作,数据展示速度快、交互性很强。 ----Gleam 能够将数据展示转变为可交互的 Web 页面,这其中,用户不需要了解非 Python 的其他语言。Gleam 能够与绝大部分 Python 数据可视化库对接,利用自带的 Web 服务器,将会直接过转变为 Web 页面效果。 ----Plotly 是一个在线数据可视化平台,提供几百种数据可视化效果。Plotly 最大特点是能够在线即时展示数据可视化效果,对于异地协作开发十分有益。此外,Plotly 还提供了一些独特的可视化风格,有待读者挖掘哦! ----PyQtDataVisualization 是 Qt 数据可视化的 Python 接口,傍着 Qt 这棵大树,这个 Python 第三方库十分有料。与 Qt 定位类似,它特别适用于本地数据可视化程序开发,作为桌面或嵌入式软件的数据展示单元。 ----Pygal 提供用来嵌入到 Web 页面中的数据可视化效果,与其他库相比,除了展示效果不同且有一定特点外,它能够将可视化效果图以 SVG 方式输出。Pygal 比较适合几万条以下小规模数据的可视化展示。 ----dataswim,让数据去游泳,好想法!这是一个简单的数据可视化 Python 第三方库,提供的数据展示效果不多,但各具特点,即使最简单的曲线图也别具风格。简单、个性却专业,正是 dataswim 的发展路线。如果你是寻求个性的程序员,这个库适合你! ----Geoplotlib 是创建地图及展示地理信息数据的 Python 第三方库,它能够绘制地理等高线图、热力型地图、点密度地图等。若要展示地图相关数据信息,在 seaborn 库之外,这个库绝对值得试用一下。 ----ggplot 是 R 语言 ggplot2 可视化系统对应的Python第三方接口,对于熟悉 R 语言的伙伴们来说,这个库十分友好。ggplot 简单易学、十分有趣而且相当强大,平凡的数据都能被绘制得美美的,不信来看图! ----正如它的名字,missingno 用来对数据完整性进行快速的可视化汇总和检测,看图找缺失比读表更直观、更快捷。它提供矩阵、树状图、热力图等多种形式,以及过滤和排序等基本功能。查看数据缺失,missingno 不可或缺。 ----Vispy 是一个高性能交互式的 2D/3D 数据可视化 Python 第三方库,它可以通过 OpenGL 利用 GPU 对大规模数据进行高速可视化展示。Vispy 正走在一条通往真正大科学计算可视化功能库的道路上,在未来,用 Python 模拟气候变化并可视化将不再是个事儿! ----Arcade 是一个简单易用创建 2D 游戏的 Python 第三方库,非常适合入门级游戏开发者。它基于 Pyglet 和OpenGL,提供了动画、精灵、装饰、场景等一系列功能,适合作为桌面系统的游戏开发平台。更重要的是,正如其设计理念,使用 Acrade 开发非常简单! ----FGMK (Fan Game MaKer) 是一个由 Python 语言实现带有 GUI 界面的 RPG 游戏编辑器,可以通过它设计游戏过程,并通过自带的 JavaScript 引擎产生 Web 界面下可运行的 RPG 游戏。FGMK 更像一个工具而不是一个开发引擎。 23.Panda3d----Panda3d 是一个专业级 3D 游戏引擎,提供3D 渲染和游戏开发功能,由迪士尼和卡耐基梅隆大学联合开发并维护。Panda3d 提供 Python 和 C++ 开发接口,它不是入门级游戏引擎,而是一个专业级开发工具。 ----Pygame 是 Python 语言当之无愧的游戏入门开发第三方库,它基于 SDL 直接访问音视频硬件及输入输出外设,形成了基本的游戏开发引擎。Pygame 是进一步学习其他游戏引擎的基础。这个库尽管简单,却很强大,能够用于开发专业耐玩的桌面游戏。 ----Pymunk 是一个简单易用的 2D 物理规则第三方库,用来在游戏或演示中增加符合物理规则的动态效果。Pymunk 不是一个游戏框架,比较适合为游戏提供相关功能,可以与 Arcade 游戏开发框架直接兼容使用。想想“愤怒的小鸟”,就知道物理有多重要了! 26.cocos2d----cocos2d 是一个基于 Pyglet 和 OpenGL 开发的2D游戏、演示和图形交互应用开发框架,采用纯 Python 编写,能够使用硬件加速,可跨平台,易学易用。cocos2d 也提供场景控制、精灵、动作、效果等系列功能。 ----Freegames 提供了一批用于实验、教学和休闲的开源小游戏,这些游戏用 Python 编写,运行在 Python 环境中,甚至 Raspberry Pi 等嵌入式硬件上。安装很简单、游戏很有趣、代码很示范,安装 Python 后首装第三方库,非 freegames 莫属! ----gym 是一个开发并比较增强学习算法的工具集,貌似与游戏无关,但该平台可以整合若干游戏,测试各类游戏智能算法的效果。Gym 兼容 TensorFlow 或 Theano 等深度学习框架,通过控制代理并从环境中获得反馈来运行深度学习算法。 -super-mario-bros----gym-super-mario-bros 是 OpenAI Gym 环境支持下的超级马里奥兄弟游戏,这个游戏有多经典不再赘述了,很暴露年龄。该第三方库支持对游戏编辑、设置和运行管理,进一步,可以编写代码控制角色进行自动游戏。游戏不重要,“玩转”游戏很重要! ----Pyglet 是一个面向对象方式编写游戏或其他富媒体应用的第三方库,可以跨平台使用,支持 OpenGL、图像、音视频、事件处理等。Pyglet 是一个较为底层的开发框架,不适合直接作为游戏开发平台,在其基础上封装的 cocos2d 和 Arcade 更为合适。可是,没有这个基础,哪会有高层次呢?! ----CNTK 是小名,全名是 Microsoft Cognitive Toolkit,它是微软提供的深度学习框架。从技术上,它与其他优秀框架区别不大,但就品质来说,微软出品还是有相当保障的。如果觉得深度学习框架如乱花迷人眼,就从 CNTK 开始吧。 32.Caffe2----Caffe2 是一个轻量级、模块化和可扩展的深度神经网络框架。Caffe2 在圈内非常知名,由 Facebook 出品,但在 2018 年 5 月,它已经正式合并入PyTorch,不再使用 Caffe2 的名字继续更新。再看到 Caffe2,请用 PyTorch 来代替。 ----Keras 是一个高层次的深度神经网络框架接口,它可以运行 TensorFlow、CNTK、Theano、MXNet 等具体框架,以用户友好、模块化和可扩展性著称。当别人还在 PK 具体框架之时,Keras 已经考虑打通框架之间的壁垒,这种抽象思维十分有益。学好一个具体框架后,Keras 则是“首选”的第二个。 ----Lasagne 是一个基于 Theano 的轻量级神经网络工具库,用于建立和训练神经网络。在大型科技公司深度介入人工智能技术的背景下,这个由几个工程师联合开发的框架注定不会取得大成。尽管该库已经几乎不再演进,其愿景及所开放源代码非常值得广大程序员参考借鉴。 ----PaddlePaddle 是百度公司推出的深度学习框架,它提供了丰富的算法服务,易用、灵活、高效、可扩展,体现了百度的人工智能水平。作为深度学习框架的后起之秀,效果如何还要拭目以待,但非常值得期待。 ----PyTorch 是一个快速和灵活的深度学习框架,它有两个特点:快速,深度整合 GPU 硬件,计算更快速;灵活,可以动态生成张量(Tensor)流图,更适合演进式应用开发。再透露一点,PyTorch 是很多专业人士首选的深度学习框架。 ----如果不知道 TensorFlow 这个词,一定很 OUT,它是 AlphaGo 背后的深度学习框架,支撑了 Google 背后大量的智能应用。Tensor 是张量,Flow 是流图,TensorFlow 就这样“简单的”构造张量流图开展深度学习计算。虽然专业应用已经不再直接使用这个框架,但作为入门学习者,从 TensorFlow 开始是非常好的选择。 ----Theano 是一个“历史悠久”(约 10 年)的深度学习框架,为执行大规模神经网络运算所设计,它本质上是一个数学表达式编译器:用符号语言定义过程及结果,编译并高效运行于 GPU 或 CPU 之上。同样,这个由个人群体维护的框架也未能在资本密集的人工智能市场长久存在下去,2017 年发布 1.0 版本后,该框架暂时还没未更新。 ----MXNet 是一个神奇的深度学习框架,它由 400 多位来自 Amazon、Apple、Samsung 和 Microsoft 等的开发人员贡献,并形成了一个有深度的开源社区。MXNet 尚未由大公司资助,应该是最中立的深度学习框架了,而且还非常有活力。悄悄的说,学术界最喜欢 MXNet,这必有道理。 -theano----sklearn-theano 是一个建立在 Numpy, Scipy, Theano 和 Matplotlib 等 Python 库之上用于提取并抽象特征的库,严格意义上说,它并非是一个完整的深度学习框架,但对于提取特征,尤其是图像特征十分有用。 ----Hachoir 是一个用于按字段查看和编辑二进制流文件的 Python 库,它可以采用类似浏览目录和文件一样“浏览”任何二进制流/文件,它还提供了提取二进制文件元数据等功能。 42.PyPDF2----PyPDF2 是一个用于解析 PDF 文件的功能库,它能够完成对 PDF 文件的分割、合并、裁剪,提取文字及图片内容,添加数据,查看选项,设置密码等功能。 ----Pydub 是一个用于处理音频数据文件的 Python 功能库,它支持 wav/mp3/ogg/flv 等文件格式,提供音频长度提取、淡入淡出效果设置等系列音频处理功能。 ----csvkit 是由 Python 编写的命令行工具,用于表格处理,它能够方便地实现 xlsx、json 等格式数据向 csv 格式的转换,并能够与结构化查询语言(SQL)联合使用。 ----moviepy 是一个用于视频编辑的 Python 库,它支持大多数常见的视频音频格式,也包括 GIF 格式,提供了视频剪切、连接、标题插入、合成等相关功能。 ----简单说,openpyxl 能够读写微软 Excel 2010 支持的文件格式,即 xlsx/xlsm/xltx/xltm 等。它的具体功能包括创建和修改工作簿,设置数字格式,使用 Excel 公式,以及绝大部分微软 Excel 工具能够完成的操作功能。 ----pefile 是一个能够解析 PE (Portable Executable) 格式文件的 Python 第三方库。PE 可是大名鼎鼎,它是 Windows 平台上所有可执行文件的标准格式。pefile 能够帮助获取 PE 格式的任何特性或字段。 ----Pillow 是非常知名的 Python 图像处理功能库,它提供对绝大多数图像文件格式的访问支持,同时,它还具有简单且强大的图像处理功能,可以将图像转换成多维矩阵,获取 RGB 通道值及更多操作。 -docx----python-docx 是一个用于读写 Microsoft Word 文件的功能库,支持 docx 文件格式。它的具体功能包括读写内容,设置格式,插入、编辑表格,以及绝大部分微软 Word 工具能够完成的操作功能。 -pptx----python-pptx 是一个用于处理 PowerPoint 文件的功能库,支持 pptx 文件格式。它能够实现绝大部分微软 PowerPoint 工具能够完成的操作功能。可以编程自动生成一批 PPT,再定期来个数据更新。 ----CherryPy 能够让开发者按照其他面向对象程序相似的设计方法开发 Web 系统,进而采用最少的代码、最简洁的方式。CherryPy 已经开发了 10 年之久,稳定性较好,非常适合小规模 Web 系统和纯粹的 Python 程序员。感受到了什么?Python 大有一统江湖之势!拭目以待。 ----Django 是一个高层次 Python Web 开发框架,特点是开发快速、代码较少、可扩展性强。Django 采用 MTV(Model、Template、View)模型组织资源,框架功能丰富,模板扩展选择最多。对于专业人员来说,Django 是当之无愧的 Python 排名第一的 Web 开发框架。 ----Falcon 是一个支持大规模微服务 API 或移动 App 后端响应的 Web 开发框架,它完全基于 Python 并提供了非常高的性能、可靠性和可扩展性。Falcon 定位独特且特色鲜明,对于 App 开发者,后端系统构建不妨考虑 Falcon,十之八九是不会后悔的。 ----Flask 是一个 Python Web 开发的微框架,严格来说,它仅提供 Web 服务器支持,不提供全栈开发支持。然而,Flask 非常轻量、非常简单,基于它搭建 Web 系统都以分钟来计时,特别适合小微原型系统的开发。花少时间、产生可用系统,是非常划算的选择。 ----Pyramid 是一个扩展性很强且灵活的 Python Web 开发框架。上手十分容易,比较适合中等规模且边开发边设计的场景。Pyramid 不提供绝对严格的框架定义,根据需求可以扩展开发,对高阶程序员十分友好。 ----Quart 是面向 ASGI(Asynchronous Server Gateway Interface)开发的 Python Web 微框架,它采用 Flask 兼容的 API 接口,提供非常轻量级的开发方式。如果说 Flask 有多流行,那么 Quart 也将那么流行,对于小微 Web 系统开发,还等什么,赶快入手吧! ----Tornado 是一个基于异步网络功能库的 Web 开发框架,因此,它能支持几万个开放连接,Web 服务高效稳定。可见,Tornado 适合高并发场景下的 Web 系统,开发过程需要采用 Tornado 提供的框架,灵活性较差,确定场景后再考虑使用不迟。 ----TurboGears 2 试图解决 TurboGears 1、Django、Rails 等框架缺陷,它支持多数据库、JavaScript 工具集、多种数据交换格式等,当然,它开发非常高效,扩展性很强。试问它与 Django 哪个更好?还真不好说,Django社区更为活跃或许更重要。 ----reahl 是一个可以让开发者完全用 Python 语言编写 Web 应用的开放框架,采用 Python 作为唯一开发语言是其最大特色。此外,reahl 提供了相当清晰且简明的开发组建,对于开发一般功能性 Web 系统足够清晰且可行。 ----正如其名, 是一个采用 Python 作为开发语言的 Web 框架,简单且强大。俄罗斯排名第一的 Yandex 搜索引擎基于这个框架开发,Guido van Rossum 认为这是最好的 Python Web 框架,还需要说别的吗?有事实作证、有大牛认可,用起来吧! ----Click 是一个能够简单有效创建命令行的 Python 第三方库,它致力于让程序命令行设计更加快速和有趣。该项目是成功的,使用 Click 可以分分钟搞出一个漂亮且专业的命令行设计,让脚本程序瞬间高大上,充满 Linux 的专业范儿!  62.prompt_toolkit----顾名思义,prompt_toolkit 是用来产生交互式提示请求的工具集,它主要用于替换 GNU 的 readline 函数。它采用纯 Python 编写,支持多种操作系统,交互界面十分友好,非常适合作为自动运维中获取用户交互信息的 Python 第三方库使用。创建一个交互式环境只需要几行代码,如此简单。 ----ptpython 是一个高级的 Python 交互式窗口(即REPL,Read-Eval-Print Loop),简单理解,ptpython 是一个 Python 语言交互式环境,用户可以输入一条命令,获得相应输出结果。相比 Python 解释器自带交互式环境IDLE,ptpython 更加清晰和友好,更适合自动化运维的需求。 ----psutil(process and system utilities)是一个获取进程及系统性能信息的 Python 第三方库,它可工作在多种操作系统平台,能够监控 CPU、内存、磁盘、网络、传感器、外设、进程等多种资源,并提供了一批类 Unix 维护命令。如果说它是最好的系统监控 Python 库,应该没人会有异议。 ----自动发送提醒邮件是系统自动化运维的重要输出方式之一,Python 标准库 smtplib 正提供了该功能。SMTP 是一种简单邮件传输协议(RFC 821),smtplib 是其 Python 实现版本,提供了发送邮件客户端功能。任何的自动运维系统都需要 smtplib 类似功能,不仅如此,编写程序自动发送邮件也非常酷! ----Ansible 是大名鼎鼎的IT运维系统,它完全由 Python 编写,集成了大量 Python 第三方库,形成了一个强大完整的运维工具。涉及到云计算的自动化运维需求基本都会考虑用 Ansible,在 DevOps 江湖中,其老大地位无人能及!不多说了,查文档开始学起来吧。 ----scapy 是一个强大的交互式网络探测和处理工具,它能实现解析多种协议网络包、捕获网络包、匹配网络包、发送伪造网络包、路由检测等多种功能。Scapy 强大到没对手,可以当作第三方库使用,也可以当做独立工具使用,涉及网络处理,只要想起这个名字,足矣! ----difflib 是一个用于比较文件差别的 Python 标准库,能够将差别信息以 HTML 等多种格式输出,非常适合替代传统 Linux 的 diff 指令提供运维功能。difflib 与标准库 filecmp 搭配使用效果更佳,后者可以对文件或目录进行初步比较,而前者进一步进行细致对比。自动化运维的起步是文件比较,这两个库请牢记! ----pexpert 是 expert 的 Python 版本,用来控制进程的创建、输入和响应等操作,在运维中,它可以实现 ssh、ftp、passwd、telnet 等各种运维命令的自动交互,实现多命令的自动化组织和处理。Pexpert 主要工作在 Linux 操作系统上,同时也支持 Windows 系统。对于稍微复杂的自动化运维需求,pexpert 是必选项。 ----Paramiko 是一个实现 SSH2 远程安全连接的 Python 第三方库,支持认证及密钥方式,可以实现远程命令执行、文件传输、SSH 代理等功能。Paramiko 基于 Python 编写,兼容 OpenSSH 实现。SSH 远程连接在运维中的基础性和重要性毋庸置疑,Paramiko 的价值也无需再言,掌握之就是了! 71.sqlite3----SQLite 是一种轻量级数据库,它的数据库就是一个文件,如果程序仅需要存储简单的格式化数据,使用SQLite是一个不错的选择。sqlite3是 Python 提供的一个用于操作SQLite的标准库,不需要安装任何东西,直接可以使用。 ----execsql 是一个可以在 PostgreSQL、MS-Access、SQLite、MySQL等数据库中执行 SQL 脚本的 Python 程序。它除了能够执行 SQL 命令外,还能够将文本文件中的数据导入数据库;把数据库中的表导出为 HTML、JSON、LaTeX、文本文件等多种格式;在数据库之间复制数据;并且还提供了一个简单的图形界面来查看数据库中数据。 ----MySQL 是最流行的开源关系型数据库,对于一般的个人开发者和中小型企业来说,MySQL提供的功能已经绰绰有余。而 pymysql 是 Python3 中用于连接 MySQL 服务器的客户端,导入 pymysql以后,能够采用基本的SQL语句操作数据库,简单如操作 SQLite 库一般。 ----如果需要存储的数据规模很大,或者没有那么紧密的关系或固定的结构,又或者需要高性能的查询时,可以尝试使用 mongodb 一类的 NoSQL 数据库。pymongo 是 Python 中操作 MongoDb 的工具包,它实现了对 MongoDB 的底层接口,Python 中其它很多操作 MongoDb 的库都是基于 pymongo 实现的。 -py----redis-py提供两个类Redis和StrictRedis用于实现Redis的命令。Redis是一个支持网络的内存数据库,它不仅性能强劲,而且还具有复制特性以及为解决问题而生的独一无二的数据模型。Redis提供了5种不同类型的数据结构,各式各样的问题都可以很自然地映射到这些数据结构上:Redis的数据结构致力于帮助用户解决问题,而不会像其他数据库那样,要求用户扭曲问题来适应数据库。除此之外,通过复制、持久化(persistence)和客户端分片(client-side sharding)等特性,用户可以很方便地将Redis扩展成一个能够包含数百GB数据、每秒处理上百万次请求的系统。 -driver----cassandra-driver是一个针对Apache Cassandra(2.1+)的Python客户端库,功能丰富且高度可调。该库使用Cassandra的二进制协议和Cassandra查询语言v3。 -postgresql----py-postgresql是一组可提供PostgreSQL各部分接口的Python模块。值得注意的是,它提供了一个纯Python驱动程序和优化方法来查询PostgreSQL数据库。PostgreSQL数据库不再赘述,它已经成为开源关系型数据库的典型代表,大量应用于企业级系统开发中。 ----ODBC,Open Database Connectivity,开放数据库连接,它是一个数据库访问的通用标准,被现代几乎所有数据库所支持。pyodbc提供了一个简单且易用的ODBC访问接口,通过它可以访问几乎所有操作系统平台的所有类型数据库,真正实现程序代码跨平台跨库类型的无缝访问。 ----SQLAlchemy是Python计算生态中具有企业级访问能力、支持高性能访问的数据库操作工具集,它不仅提供了丰富的SQL访问功能,并且提供了支持ORM的对象操作接口。对于实际部署且支持企业级应用的系统,用SQLAlchemy来进行数据库访问是不二选择! ----peewee是一个小而表现力强的对象关系映射(ORM)。使用起来简单、符合直觉。peewee支持常见数据库系统诸如sqlite, mysql 和 postgresql。通过它可以简单、轻量级地实现以面向对象的习惯与方法来操作数据库的内容,从而摆脱在具体逻辑中摆脱繁琐的SQL语句。掌握它来玩转数据库吧。 ----spaCy 是一个 具有工业级强度Python 自然语言处理工具包。 spaCy 大量使用了 Cython 来提高相关模块的性能,并提供了预训练的统计模型和单词向量,拥有世界上最快的语法解析器,以及用于标记、解析和命名实体识别的卷积神经网络模型。目前支持30多种语言的符号化。 ----Gensim 是一个用于话题空间建模、文档索引和大型语料库的相似性检索 Python第三方库。它专门为处理大型文本集合而设计,使用数据流和高效增量算法,有别于大多数只针对批处理和内存处理的功能库。 ----Pattern 是一个 Web 挖掘模块,可以抓取解析如谷歌、Twitter 和 Wikipedia 等各种来源的数据。它包含了多种NLP 工具(如:PoS tagging, n-Grams, sentiment analysis, WordNet),具有向量空间模型、聚类、分类等机器学习功能,以及用于网络分析的各种工具。对于许多语言数据挖掘项目来说,Pattern是一个很好的一体化解决方案。 ----NLTK是最出色的Python自然语言处理库。它不仅开发和维护优异,同时附带了大量的示例数据、语料库和预先训练好的模型。NLTK适合于语言学家、工程师、学生、教育者、研究人员和行业用户,可用于Windows、Mac OS X和Linux,最重要的是,NLTK是一个免费的、开源的、社区驱动的项目。 ----TextBlob 是一个基于 NLTK 和 Pattern 的自然语言处理库。它提供了非常简单的 API 来处理常见的自然语言任务,如词性标记、名词短语提取、情感分析、分类、翻译等。简单说,TextBlob以一种非常容易访问和易于管理的方式提供了日常自然语言处理所需的一切。 ----Polyglot 是一个多语言文本处理工具包。虽然它具有与其他自然语言库相似的特性,如:标记化、词性标记、词嵌入、命名属性识别等,但 Polyglot 主要为多语言应用的场景而设计,在同时处理多种语言文本应用中,它提供了一批非常有趣的特性,如:语言检测和音译等,特色明显。 ----THULAC 由清华大学自然语言处理与社会人文计算实验室研制,它是一套中文词法分析工具包,具有中文分词和词性标注功能。THULAC基于目前世界上规模最大的人工分词和词性标注中文语料库(约含5800万字)训练而成,模型标注能力强大,并具有高准确率及分析速度快的特点。简单说,THULAC是一个高效的中文此法分析工具包。 ----jieba 是一个中文分词组件,被称为最好的 Python 中文分词组件。支持三种分词模式:精确模式、全模式和搜索引擎模式,并且支持繁体分词和自定义词典。简单说,jieba是一个非常好用的中文工具,以分词起家,但功能比分词要强大很多。而且,全国计算机等级考试二级Python语言必考jieba库。 ----FoolNLTK 是一个中文语言处理工具包,基于 BiLSTM 模型训练而成,包含分词、词性标注、实体识别等功能,且准确率较高。FoolNLTK支持自定义词典,可以训练定制模型,进行批量处理。它可能不是速度最快的开源中文分词库,但很可能是结果最准!  ----SnowNLP 是一个中文文本处理功能库,作者受 TextBlob 启发而编写。SnowNLP能够进行分词、标注,还能够进行情绪分析。与TextBlob 不同,它没有使用 NLTK,所有相关算法都是作者实现的,并且自带训练后的字典,可谓青出于蓝而胜于蓝。SnowNLP全面支持Unicode编码,让文本处理变得更简单。 ----OpenCV 的全称是:Open Source Computer Vision Library。是一个开源的跨平台的计算机视觉库。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB 等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。 ----SimpleCV 是一个用于在 Python 中快速构建计算机视觉方面应用程序的开源库。它封装了若干强大的计算机视觉库(目前仅封装了 OpenCV ),简化了用户对这些库的使用难度,如无需了解位深、文件格式、颜色空间、缓冲区管理等内容,降低了学习成本。可以用于在 Python 下快速开发计算机视觉的原型程序。 ----Luminoth 是一款使用 TensorFlow 和 Sonnet 构建的计算机视觉方向的开源 Python 工具包。目前支持 Faster R-CNN 等目标检测方法。Luminoth 不仅仅是一个特定模型的实现,它的构建基于模块化和可扩展。此外,Luminoth 可以直接与 Google Cloud 的 ML 引擎整合,所以即使你没有强大的 GPU,也可以在云端进行训练。 ----GluonCV 是一个基于 MXNet 的计算机视觉库。提供了计算机视觉领域最先进的深度学习算法的实现。它的主要特点有复制最新论文中报道的 SOTA 结果的训练脚本、大量的预训练模型、细心设计的 API 和社区支持。旨在帮助工程师、研究人员、学生快速做出产品原型、验证新思路、学习计算机视觉。 ----ChainerCV 是一个用于计算机视觉的深度学习实用库。这个库旨在通过 Chainer 简易化计算机视觉的训练和深度学习模型应用的过程。它包含计算机视觉模型的高质量实现,以及开展计算机视觉研究的必备工具集。当前,ChainerCV 提供了目标检测和语义分割模型(Faster R-CNN、SSD 和 SegNet)的实现。 ----Rastervision 是一个用于在卫星、空中和其他大型图像集(包括无人机图像)上构建计算机视觉模型的开源 Python 框架。它允许用户(不需要成为深度学习方面的专家)快速且可重复的配置执行机器学习工作流程的实验。内置了对使用 Tensorflow 的芯片分类、对象检测和语义分割的支持。支持在 AWS 云端训练并且有一个 QGIS 插件可以在地图上查看实验结果。 ----Pyocr 是 python 中的一个光学字符识别(OCR)工具包装器。也就是说它有助于使用 python 程序中的各种 OCR 工具。 tesseract----pytesseract 是一种光学字符识别(OCR)工具。它能识别并“读取”嵌入图像中的文本。是谷歌Tesseract-OCR 引擎的包装器。它可以读取 Python 映像库支持的所有图像类型,包括jpeg、png、gif、bmp、tiff等,而 tesseract-ocr 默认情况下只支持 tiff 和 bmp。此外,如果用作脚本,python tesseract 将打印识别的文本,而不是将其写入文件。 ----Mahotas 是一个快速的视觉算法 python 包。它作为一种计算机视觉方向的 python 库,不仅包含了上百种视觉方向的机器学习算法。同时还可以操作 python 的 numpy 数组,使得数据处理变得很方便。 -image----Scikit-image 是一个图像处理和计算机视觉的算法集合。它是一款基于 scipy 的图像处理包,将图片作为 Numpy 数组进行处理,与 matlab 类似,几乎集合了 Matlab 的所有图像处理功能。更为重要的是,作为 python 的一个图像处理包,这个包是完全开源免费的,而且可以依托于 python强大的功能,与 tensorflow 等软件配合使用于主流的深度学习等领域。 ----提到 Python 爬虫,就不得不提 requests 库。requests 库是一个基于 urllib 的用于 http 请求的模块,使用 python 语言编写,采⽤ Apache2 Licensed 开源协议。相比 urllib 库,requests 库更加的方便,是一个简单又强大的爬虫包。 -HTML----requests-html 和 requests 一脉相承。requests-html 爬虫包基于现有的框架 PyQuery、Requests、lxml、beautifulsoup4 等库进行了二次封装,作者将 requests 的简单,便捷,强大又做了一次升级。 ----Scrapy 是一个使用 Python 编写的,轻量级的,并可扩展的爬虫框架。和爬虫库不同的是,它是一个框架,任何人都可以根据需求方便的修改。Scrapy 使用 Twisted 异步网络库来处理网络通讯,可以很方便的完成网上数据的采集工作,它为我们完成了大量工作,而不需要自己费大力气去开发。 ----Cola 是一个分布式的爬虫框架,用户只需编写几个特定的函数,而无需关注分布式运行的细节。任务会自动分配到多台机器上,整个过程对用户是透明的。 ----pyspider 是一个用 Python 实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用常用的数据库进行爬取结果的存储,还能定时设置任务与任务优先级等。 ----Crawley 是 Python 开发出的爬虫框架,该框架致力于改变人们从互联网中提取数据的方式。是基于Eventlet的高速爬虫框架。支持关系型和非关系型数据库如 mongodb、Postgre, Mysql, Oracle, Sqlite等,支持输出 Json, XML 和 CSV 等各种格式。 ----Portia 是一个开源可视化爬虫工具,它允许任何没有编程基础的人可视化的爬取网页数据。简单地注释你感兴趣的页面,Portia 将创建一个蜘蛛来从类似的页面提取数据。 ----Newspaper 可以用来提取新闻、文章和内容分析。使用多线程,支持10多种语言等。作者从requests 库的简洁与强大得到灵感,使用 Python 开发的可用于提取文章内容的程序。支持10多种语言并且所有的都是 unicode 编码。 ----Grab 是一个站点爬取框架。借助 Grab,你可以构建各种复杂的网页抓取工具,从简单的5行脚本到处理数百万个网页的复杂异步网站抓取工具。Grab 提供一个 API 用于执行网络请求和处理接收到的内容,例如与 HTML 文档的 DOM 树进行交互。 ----一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。简单来说robobrowser是一个浏览器,没有界面的浏览器。它调用了 Python 的 requests 和 Beautifulsoup库,可以打开网页,点击链接和按钮并且提交表单。 ----Arrow 是一个好用的 Python 日期时间操作类库。Arrow 提供了一种易用的智能的方式来创建、操作、格式化和转换日期、时间和时间戳。简单地说,它可以使用更少的导入和更少的代码处理日期和时间。 ----Freezegun 是一个可以帮助你在 Python 代码中测试特定日期的库。使用 @freeze_time 装饰器,你可以为测试用例设置特定的日期和时间,并且所有对 ()、() 等的调用都将返回你指定的日期和时间。 ----Dateutil 是一个对 datetime 提供了强大扩展的库。它主要包含两个函数,parser 和 rrule。Parser 是根据字符串解析成 datetime,而 rrule 则是根据定义的规则来生成 datetime。 ----Delorean 是一个解决 Python 中有关日期处理的棘手问题的库。了解时间是一个足够微妙的问题,DeLorean 希望为移动、操作和生成日期时间提供一个更干净、不那么麻烦的解决方案。 ----Maya 是一个人性化的时间处理库。它包含了 Python 中其他流行的处理日期时间的库,包括 Humanize、 pytz 和 pendulum 等等。这个项目旨在让人们更容易处理日期。 ----DateParser 是一个可以解析 Web 页面上常见的几乎所有字符串格式的本地化日期模块。在超过200种语言环境中对日期进行通用解析,并以一种与语言无关的方式使用多种格式。同时支持非公历系统。 ----Pendulum 是一个比 arrow 更具有明确的,可预测行为的时间操作库。Pendulum 在标准库的基础之上,提供了一个更简洁,更易于使用的 API ,旨在让 datetime 模块更好用。 ----Pytime 是一个简单易用的通过字符串来操作日期时间的模块。PyTime 允许你在大多数情况下使用非常规日期时间字符串来生成和计算日期时间。它还为获取所需的日期时间提供了一些简单有用的方法。 ----Pytz 是一个专门用来处理时区的库。将时区数据库引入 Python。这个库允许使用 Python 2.4或更高版本进行准确的跨平台时区计算。它还解决了夏令时结束时时间不明确的问题。 是一个非常人性化的 Python 日期库。它提供了对用户非常友好的函数来帮助执行常见的日期和时间操作。 ----audiolazy 是一个用于实时声音数据流处理的库,支持实时数据应用处理、无限的数据序列表示、数据流表示和反向任务完成时的自动消除。 ----Beets 是强迫症音乐爱好者的媒体图书馆管理系统。它的目的是让你的音乐收藏一劳永逸。 它会对你的收藏进行编目,并自动改进其元数据。 然后提供了一系列用于操作和访问个人音乐的工具。 ----Dejavu 是用 Python 实现的音频指纹识别算法。它可以通过聆听音频并对其进行指纹识别来记忆音频,然后通过播放歌曲并录制麦克风输入,尝试将音频与数据库中保存的指纹进行匹配,并返回正在播放的歌曲。对于语音识别,Dejavu 不是正确的工具,Dejavu 擅长识别具有合理噪音量的精确信号。 124.eyeD3----eyeD3 是一个用于处理音频文件的 Python工具,特别是包含 ID3 元数据(即歌曲信息)的 MP3文件。它提供了一个命令行工具(eyeD3)和一个 Python 库(import eyed3),可用于编写自己的应用程序或可从命令行工具调用的插件。 ----Mutagen 是一个处理音频元数据的 Python 模块。 它支持 ASF,FLAC,MP4,Monkey's Audio,MP3,Musepack,Ogg Opus,Ogg FLAC,Ogg Speex,Ogg Theora,Ogg Vorbis,True Audio,WavPack,OptimFROG 和 AIFF 音频文件。 支持所有版本的 ID3v2,并解析所有标准ID3v2.4帧。 它可以读取 Xing 头并准确计算MP3的比特率和长度。 无论音频格式如何,都可以编辑 ID3 和 APEv2 标签。 它还可以在单个数据包/页面级别上操作 Ogg 流。 ----Pydub 使用简单易用的高度抽象接口处理音频数据。支持多种格式声音文件,可进行多种信号处理(例如压缩、均衡、归一化)、信号生成(例如正弦、方波、锯齿等)、音效注册、静音处理等。 ----TimeSide 是一个 Python 框架,支持低级和高级音频分析、成像、转码、流媒体和标签处理。 其高级API旨在通过插件架构,安全可扩展后端和可扩展动态 Web 前端,在任何音频或视频内容的超大型数据集上实现复杂处理。 ----Tinytag 是一个用于读取 MP3,OGG,OPUS,MP4,M4A,FLAC,WMA 和 Wave 文件的音乐元数据的库。它可以确定曲目编号,曲目总数,标题,艺术家,专辑,年份,持续时间等。 ----Aubio 是一个算法和工具的集合,用于标记和转换音乐和声音。它扫描或收听音频信号,并试图检测音乐事件。例如,当一个鼓被敲击时,在什么频率是一个音符,或者在什么节奏是一个有节奏的旋律。Aubio 的功能包括对声音文件进行分段、执行音高检测、敲打节拍以及从实时音频中生成 midi 流。 ----SoundFile 是一个基于 libsndfile,CFFI 和 NumPy 的音频库。SoundFile 可以读写声音文件,通过libsndfile 支持文件读/写,libsndfile 是一个免费的跨平台开源(LGPL)库,用于读写不同的采样声音文件格式并可跨平台使用,它通过 CFFI(Python调用C代码的外部函数接口)访问声音文件。SoundFile 最终将音频数据表示为 NumPy 数组。 ----Authomatic 是一个为 Python web 应用设计的框架无关的身份验证库。它拥有简单却强大的接口,这些接口通过 OAuth 和 OpenID 等标准简化了诸如 Facebook 和 Twitter 等第三方服务提供商对用户身份的验证。 ----OAuthLib 是一个通用、符合规范的完整的 OAuth 请求-签名的逻辑实现。它实现了 OAuth1 和OAuth2 的逻辑,且不需要假设特定的 HTTP 请求对象或 web 框架。 -oauth-toolkit----Diango OAuth Toolkit 是为 Django 用户提供的 OAuth2 库。它可以帮助你提供为 Django 项目添加 OAuth2 功能所需的所有端点、数据和逻辑。由于广泛使用了优秀的 OAuthLib,因此所有内容都符合 rfc 标准。 -allauth----django-allauth 是集成的可重用的 Django 应用程序集,用于验证,注册,帐户管理以及第三方(社交)帐户身份验证。它同时支持本地和社交身份验证并且流程可以正常工作。 -OAuthlib----Flask-OAuthlib 是 Flask 的扩展,允许与启用 OAuth 的远程应用程序进行交互。在客户端站点上,它是 Flask-OAuth 的替代品。不仅仅如此,它还可以创建 OAuth 提供程序。 ----Authlib 是构建 OAuth 和 OpenID Connect 服务器的终极 Python 库。同时包含JWS,JWE,JWK,JWT。Authlib 提供 RFC 的通用实现,针对客户端和服务器的各种内置高级框架集成,旨在创建无缝体验。同时支持各种社交网络服务连接。 137.oauth2----python-oauth2 是一个用于创建 OAuth 客户端和服务端的 Python 接口程序。它完全兼容 python版本:2.6,2.7,3.3和3.4。该库依赖于许多其他下游软件库,如 Flask-Oauth。 ----PyJWT 是 Python 中 JSON WEB Token 的实现。它允许你编码和解码 JSON Web 令牌(JWT)。JWT是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准(RFC 7519)。 ----JWCrypto 是 Javascript IETF 工作组及相关技术开发的 Javascrip t对象签名和加密(JOSE)Web 标准的实现。JWCrypto 兼容 Python2 和 Python3,并使用 Cryptography 包来实现所有加密功能。 140.python_jwt----python-jwt 是一个用于生成和验证 JSON Web 令牌的模块。它使用 jwcrypto 完成繁重的工作,支持 RS256,RS384,RS512,PS256,PS384,PS512,HS256,HS384,HS512 和无签名算法。 ----Bashplotlib 是一个 Python 包和命令行工具,用于在终端中生成基本的绘图。它是在没有 GUI 时可视化数据的一种快速方法。它是用 Python 编写的,可以使用 pip 在任何地方快速安装。 142.caniusepython3----Caniusepython3 用来判断哪个项目妨碍你移植到 Python 3。这个脚本接受一组依赖关系,然后确定哪些是阻止你移植到 Python 3 的依赖。脚本的输出将告诉你转换到 Python 3 需要多少(隐式)依赖项,以便进行转换,它还会列出那些没有依赖阻止的项目,因此可以要求它们启动Python 3 的端口。 ----Doitlive 一个用来在终端中进行现场演示的工具。它会读取 shell 命令中的文件,并在你键入随机字符时重放伪终端会话中的命令。 ----Pyftpdlib 是一个速度极快和可扩展的 Python FTP 服务库。尽管使用的是一种内置语言,但pyftpdlib 的传输速率优于大多数常见的 UNIX FTP 服务器,同时它也可以更好的扩展。 ----Howdoi 通过命令行获取即时的编程问题解答。你可以不必打开浏览器阅读博客(冒着分心的危险)当你简单的停留在控制台并询问 howdoi 就可以获取问题的答案。 ----HTTPie 是一个命令行 HTTP 客户端。 其目标是使 CLI 与 Web 服务的交互尽可能人性化。 它提供了一个简单的 http 命令,允许使用简单自然的语法发送任意 HTTP 请求,并显示彩色输出。 HTTPie 可用于测试,调试以及与 HTTP 服务器交互。 ----Mycli 是一个 MySQL,MariaDB 和 Percona 命令行客户端,具有自动补全、智能补全、别名支持、页面调整和语法高亮功能。 -prompt-toolkit----Python-prompt-toolkit 是一个用于构建强大的交互式命令行程序的库。它可以是 GNU readline的非常高级的纯 Python 替代品,同时它也可以用于构建全屏应用程序。 ----Docopt 是 Python 风格的命令行参数解析器。它可以定义命令行程序的界面以及为它生成解析器。docopt 基于几十年来在帮助消息和手册中用于描述程序界面的约定。 其中的接口描述是一种形式化的帮助消息。 -fire----Python-fire 是 Google 出品的一个基于 Python 类的构建命令行界面的库。它可以很方便的开发和调试 Python 代码,并能将其他人的代码转换成 CLI,它使得 Bash 和 Python 之间的转换更加容易,并且使使用 Python REPL 变得更加容易。 ----Beaker是一个用于缓存和会话的库,用于Web应用程序和独立的Python脚本和应用程序。 它附带了WSGI中间件可以轻松地与基于WSGI的Web应用程序一起使用,以及缓存装饰器,以便与任何基于Python的应用程序一起使用。 -cache-machine----Cache Machine通过ORM实现Django模型的自动缓存和失效。它是为zamboni开发的,是到Django的端口。使用模型mixin类和自定义缓存管理器启用缓存。失效通过维护每个对象的依赖缓存条目的“刷新列表”来工作。 -cacheops----Diango cacheops是一个具有自动颗粒化事件驱动失效功能的ORM。它支持自动或手动查询集缓存和颗粒化事件驱动的自动失效,适用redis作为ORM缓存的后端,redis或文件系统作为简单时间失效的后端。 是Beaker的下一代替代品,由同一作者开发。它为各种各样的高速缓存后端提供了一个通用接口,此外还提供了API钩子将这些高速缓存后端与dogpile的锁定机制集成在一起。 ----HermesCache是一个Python高速缓存库。它的设计目标包含基于标签的失效、dogpile effect保护功能、线程安全的、简单的设计、简单灵活的装饰器作为终端用户的API和实现多个后端的接口等。 ----DiskCache是一个Apache2许可的磁盘和文件支持的缓存库,用纯Python编写并与Django兼容。它为缓存提供了千兆字节的存储空间,通过一些数据库库和内存映射文件,缓存性能可以匹配并超过行业标准解决方案,不需要C编译器或运行其他进程,测试可以100%覆盖单元测试和数小时的压力。 ----Pylibmc是一个来自TangentOrg的libmemcached接口的Python包装器。Pylibmc故意使接口尽可能接近python-memcached,以便应用程序可以直接替换它。并利用了其他可配置行为、数据压缩、经过实际检验的GIL保留、一致分发和二进制memcached协议等。 ----Cacheout是一个实现了多种缓存机制的Python库。包括FIFO,LIFO,LRU,MRU,LFU,RR等。使用缓存管理器方便的访问多个缓存对象,使用模块级缓存对象时,可为运行时设置重新配置缓存设置。 ----Wrapcache是一个基于Python装饰器的方法缓存系统,用于缓存Python方法的输出值,可以支持复杂数据类型,可以缓存到Redis中、Python dict、LUR算法存储中。 ----Pymemcache是一个全面、快速、纯Python的缓存客户端。它完整实现了memcached文本协议,包含灵活、模块化和简单的序列化和反序列化方法。 ----curses 模块为内建的 curses 提供接口,是便携式高级终端处理的实际标准。虽然 curses 在 Unix 环境中使用最广泛,在 Windows 、DOS 和其他系统中也可以使用它。这个扩展模块是为了匹配 ncurses 的 API 而设计的,ncurses 是一个托管在Linux和BSD衍生版本上的开源 curses 库。 ----Eel 是一个小型 Python 库,用于制作简单的类 Electron 的离线 HTML/JS GUI 应用程序。Eel 托管了一个本地 web 服务器,允许你用 Python 注释函数以便于从 Javascript 调用它们,反之亦然。它的设计是为了减少编写简单 GUI 应用程序的麻烦。 ----enaml 是一种编程语言和框架,致力于用最小的工作量创建专业的高质量用户界面。使用类似 QML 的 Declaratic 语法创建美观的用户界面。enaml 应用程序可以在任何支持 Python 和 Qt 的平台上运行。 ----flexx 是一个用于创建图形用户界面的纯 Python 工具包。它使用 web 技术进行渲染,纯 Python 编写,使用 PScript 动态生成所需的 Javascript。可以使用它创建(跨平台)桌面应用程序、web应用程序,并能将应用程序导出到独立的 HTML 文档。它在 Jupyter notebook 下也能工作。 ----Gooey 用一行代码几乎能将所有的 Python 命令行程序转换成一个完整的 GUI 程序。它使你能够以一种熟悉的方式专注于构建健壮的、可配置的程序,而无需担心它将如何呈现给普通用户并与之交互。 ----一个用来创建自然用户交互(NUI)应用程序的库,如多点触控程序等。可以运行在 Windows, Linux, Mac OS X, Android 以及 iOS 平台上。其目标是允许快速和简单的交互设计和快速原型,同时使代码可重用和部署。 ----一个 Python 的跨平台窗口及多媒体库,用于开发游戏和其他视觉丰富的应用程序。它支持窗口,用户界面事件处理,操纵杆,OpenGL图形,加载图像和视频,播放声音和音乐。兼容 Windows, OS X 和 Linux。 ----PyGObject 是一个python包,它为基于 GObject 的库(如 GTK、GSTreamer、WebKitGTK、GLib、GIO等)提供绑定。如果你想为 GNOME 写Python应用程序或者使用 GTK 写 Python GUI 程序,PyGObject 是一个好的选择。 ----PyQt 是跨平台用户界面框架 Qt 的 Python 绑定,支持 Qt v4 和 Qt v5。它是 Python 编程语言和 Qt 库的完美融合。它实现了一个 Python 模块集,有超过300个类,将近6000个函数和方法。 ----pywebview 是一个轻量级的跨平台包装器,允许在自己的原生 GUI 窗口中展示HTML 内容。它使得你能在桌面应用程序中使用 web 技术,隐藏了 GUI 是基于浏览器的事实。你可以在 Flask 或 Bottle 这样的轻量级web框架中使用 pywebview,也可以在 Python 和 DOM 之间单独使用。 ----coala是一个语言无关,易于扩展的代码分析工具。它提供了一个统一的接口,无论使用哪种编程语言,都可以使用一个配置文件来分析和修复代码。你可以在最喜欢的编辑器中使用coala,将其集成到你的CI中,以JSON的形式获得结果,或者使用其灵活的配置语法根据需要定制它。 ----Pycodestyle是一个简易的Python样式检查器。它根据PEP 8中的一些约定样式检查Python代码。曾经叫做pep8,为了减少歧义改名为pycodestyle。 ----Pydocstyle是一个静态分析工具,用于检查文档是否符合Python docstring约定。pydocstyle支持大多数的PEP257,但不应将其视为参考实现。它支持Python 3.4 3.5 和3.7。 ----Pylint是一个Python静态代码分析工具,它可以查找编程错误,帮助执行编码标准,并提供简单的重构建议。它是高度可配置的,具有特殊的实用程序来控制代码中的错误和警告,以及广泛的配置文件中的警告。也可以编写自己的插件来添加自己的检查或以某种方式扩展pylint。 ----Pyright是一个Python静态类型检查器,用于解决现有工具(如mypy)中的空白。它是一种针对大型Python源库的快速类型检查器,可以在“watch”模式下运行,并在修改文件时执行快速增量更新。 ----Black是Python代码格式化工具。通过使用它,用户同意放弃对手工格式化细节的控制。作为回报,black提供了速度、决策以及摆脱pycodestyle对格式的纠缠,你会为更重要的事情节省时间和精力。 ----Yapf是来自Google的代码格式化程序。它是基于“clang-format”,由Daniel Jasper开发。从本质上讲,该算法获取代码并将其重新格式化为符合样式指南的最佳格式,即使原始代码没有违反样式指南。最终的目标是,YAPF生成的代码与程序员按照样式指南编写的代码一样好。 ----Mypy是Python的一个可选静态类型检查器。你可以向Python程序中添加类型提示,并使用mypy静态的进行类型检查,甚至不用运行程序就能发现程序中的bug。 -check----Pyre是一个针对大型Python 3代码库的快速、可伸缩的类型检查器,旨在通过在终端或喜欢的编辑器中交互式地标记类型错误来帮助提高代码质量和开发速度。 ----Jedi是Python的静态分析工具,可在IDE/编辑器中使用,专注于自动完成和goto功能。速度很快而且久经测试,它对Python和静态方式都有很深的理解。使用非常简单的API连接IDE,有一个作为vim插件的参考实现。 ----ipdb是对IPython pdb的集成。ipdb导出函数来访问IPython调试器,IPython调试器具有选项卡完成、语法高亮显示、更好的回溯、更好的自测(具有与pdb模块相同的接口)。 ++----pdb++是标准库pdb模块的扩展,可以作为pdb的替代品使用。它与它的前驱完全兼容,但是它引入了许多新特性,使调试体验尽可能好。需要注意的是,pdb++不是包名,合法的包名是pdbpp。 ----pudb是一个面向Python的全屏、基于控制台的可视化调试器。它的目标是在一个更轻量级和键盘友好的包中提供现代基于gui的调试器的所有细节。pudb允许你在编写和测试代码的地方调试代码。 ----wdb是一个功能齐全的基于客户机-服务器体系结构的web调试器。wdb服务器基于Tornado,负责管理调试实例和浏览器连接(通过websockets)。wdb客户端允许逐步调试、程序内python代码执行、代码编辑(基于CodeMirror)设置断点等。由于这种体系结构,所有这些都完全兼容多线程和多进程程序。 ----manhole是进程内服务,它接受unix套接字连接,并为所有线程提供堆栈跟踪和交互式提示。既可以作为守护进程一直等待连接,也可以作为信号处理程序(停止应用程序并等待连接)。 -hunter----hunter是一个灵活的代码追踪工具包,它不是用于测量覆盖率,而是用于调试、日志记录、检查和其他不法的目的。它有一个简单的Python API,一个方便的终端API和一个可以附加到进程的CLI工具。 187.line_profiler----line_profiler是一个用于逐行分析函数的模块。kernprof是一个方便的脚本,根据可用内容,可以运行line_profiler或者Python标准库的cProfile或profile模块。 188.memory_profiler----memory_profiler是一个监控Python代码内存使用情况的模块,它能够逐行分析Python程序中内存消耗情况。它是一个纯python模块,依赖于psutil模块。 -spy----py-spy是Python程序的采样分析器。它能够可视化Python程序花费的时间,而无需重新启动程序或以任何方式修改代码。py-spy的开销非常低,用Rust编写,目的是提高速度,并且不会运行在与所分析的Python程序相同的进程中。意味着py-spy可以安全的用于生产Python代码。 ----vprof是一个Python可视化分析器。它可以为Python应用程序的多种特性提供丰富可交互可视化的分析功能,如运行时间和内存使用情况。改项目正在积极的开发中,有些特性可能不会达到预期水平。 ----APScheduler允许将Python代码安排在以后执行。可以只执行一次,也可以定期执行。你可以随时添加新任务或者删除旧任务。如果将任务存储在数据库中,它们将在调度器重启后继续存在并维护状态。当调度器重新启动后,它将运行脱机前的所有任务。 -schedule----django-schedule是一个日程调度程序。它有着众多的特性,包括一次性和重复性事件,日历异常,良好的用户界面,查看日、周、月、三个月和年等。 ----doit是一个自动化任务运行器和构建工具。它的灵感来源于利用构建工具的力量执行任何类型的任务。它集强大的功能、灵活性、创作的简单性和易用性于一身。 ----gunnery是基于web接口的分布式系统的多用途任务执行工具。如果你的应用程序被划分在多个服务器上,你可以通过ssh连接他们并反复执行相同的命令,清除缓存,重新启动服务,备份,检查健康状况等。gunnery使得你能在浏览器或者智能手机上做到这一点。 ----joblib是在Python中提供轻量级管道的一组工具。特别的它能提供延迟重新计算和简单的并行计算。joblib在针对大数据时进行了更快和更健壮的优化,并且对numpy数组进行了特定的优化。 ----Plan是一个用于编写和部署cron任务的Python包。Plan将Python代码转换为cron语法。你可以很容易地管理你的cron工作。它的设计非常优雅,可以用尽可能少的代码编写cron任务。 ----schedule是一种人性化的任务调度器。它是一种使用生成器模式进行配置的定期任务的进程内调度器。它允许你使用简单、友好的语法在预先确定的时间间隔内定期运行Python函数(或任何其他可调用的函数) ----spiff是一个用纯Python实现的强大工作流引擎。它的主要设计目标包括直接支持尽可能多的模式,尽可能使用单元测试,提供简洁的Python API等。 ----TaskFlow是一个用于OpenStack(和其他项目)的Python库,它有助于使任务执行变得简单、一致、可伸缩和可靠。它允许创建轻量级任务对象和函数,这些对象和函数以声明的方式组合成流(即工作流)。 ----Airflow是一个以编程方式编写,安排和监视工作流的平台。使用airflow将工作流编写为有向无环图。airflow调度程序在遵循指定的依赖关系的同时,在一组工作线程上执行你的任务。当工作流被定义为代码时,它们变得更加可维护、版本化、可测试和可协作的。 ----Cartridge是一个使用Django框架构建的购物车应用程序。旨在为开发电子商务网站提供一个干净、简单的基础。它不包括电子商务网站的所有可能的功能;相反,Cartridge侧重提供电子商务网站上的核心功能。背后的理念是电子网站功能各不相同,应该尽可能容易定制,因此它的代码库尽可能简单,只实现了电子商务网站的核心功能。 -shop----django-shop是一个基于Django的网店系统。它的目标是成为一个简单、有趣和快速的电子商务对应的django-CMS。在它的实现中,产品模型反映了它们的物理属性,这使得创建完整而深入的层次结构成为可能,而且不需要修改不需要的属性。 ----shuup是一个基于Django和Python的开源电子商务平台。你可以基于shuup构建类似Amazon的跨境大型电子商务网站,也可以构建B2B或者B2C的商务系统同时也可以构建个人的小型电子商务网站。 ----alipay是一个非官方的支付宝API。它包含常见的支付API,包括生成直接支付url、生成合作伙伴交易支付url、生成标准的混合支付url、生成二维码url、单笔交易查询等。 ----saleor是一个基于Django的电子商务店面。它由运行在Python3和Django2上的GraphQL服务器支持。为成千上万的产品和成千上万的顾客提供服务而不费一点力气。而且不仅仅提供开箱即用的方案。 -oscar----Oscar是Django的一个电子商务框架,旨在构建域驱动的网站。它的结构使得可以自定义核心功能的任何部分以适合你的项目需求。从大型B2C站点到富含特定于域的业务逻辑的复杂B2B站点,它允许处理范围广泛的电子商务需求。 -python----forex-python是一个进行汇率兑换、显示比特币价格指数和货币转换的Python工具。它的主要特性包括列出所有货币的汇率、所有货币的比特币价格、比特币转换、货币转换等。 208.easy_store----easy store是一个用于电子商务和其他商店平台的web2py模型。这个应用程序非常简单,它为商店筹备和销售产品提供了最简单的方法,但是它并不涉及此过程的法律方面,如果你确实想实现电子商务,一定要使其合法,并插入自己的使用条款和隐私政策页面。 -merchant----Django-merchant是一个django应用程序,它提供了统一的api和可插拔的接口,可以让你透过单一API使用多个付款处理器,也就是可以接受多个支付平台的支付。它深受Ruby的ActiveMerchant的启发。 ----satchless将电子商务和Python结合在一起。它提供了最基本的类和模式,因此你可以专注于业务逻辑和用户体验。它不依附于任何框架,向外只提供接口,具有优秀的兼容性。 ----CPython是用C语言实现的Python解释器,它是目前应用最广泛的Python解释器,同时也是官方版本的解释器,最新的语言特性都是在CPython上率先实现,并基本包含了所有第三方库的支持。 ----Cython是一个针对Python编程语言和扩展的Cython编程语言(基于Pyrex)的优化静态解释器。它使得为Python编写C扩展像编写Python本身一样简单。它是Python语言的超集,并且支持调用C函数和在变量和类属性上声明C类型。 ----CLPython是一个基于Common Lisp语言的开源的Python解释器。它致力于连接Python和Lisp的世界。你能够在Python中访问Lisp库,在Lisp中访问Python库,也能够混合使用Python和Lisp代码。 ----Jython是运行在Java平台上的解释器,直接把Python代码编译成Java字节码执行。它不仅提供了Python的库,也提供了所有Java类,使得它拥有了一个巨大的资源库。 ----micropython是一个精简且高效的Python解释器,包括Python标准库的一个小子集,并且经过优化可以在微控制器和受限环境中运行。MicroPython的目标是尽可能与普通Python兼容,能够轻松地将代码从桌面转移到微控制器或嵌入式系统。 ----Numba是Python的即时解释器,它最适合使用NumPy数组、函数和循环的代码。当调用一个Numba修饰函数时,它会被编译成“即时”执行的机器码,并且你的全部或部分代码随后可以以本机机器码的速度运行! ----PeachPy是一个用于编写高性能汇编内核的Python框架。它旨在简化编写优化的汇编内核,同时保留传统汇编的所有优化机会。 ----pypy是Python语言的一种快速、兼容的替代解释器。采用JIT技术,对Python代码进行动态编译,可以显著提高Python代码的执行速度。绝大部分代码可以在PyPy下执行,但它和CPython有稍微不同,导致相同代码在两种解释器下会产生不同的结果。 ----stackless是Python语言的增强版本,它使得程序员从基于线程的编程中获益,而不需要考虑与传统线程相关的性能和复杂性问题。Stackless添加到Python中的微线程是一种廉价且轻量级的便利,能够改善程序结构,使得程序可读性更高,增强程序员的产出。 ----IPython是基于CPython之上的一个交互式解释器。它为交互式计算提供了丰富的架构,包括一个强大的交互式的shell,Jupyter的内核,支持交互式数据可视化和GUI工具包的使用,灵活地可嵌入的解释器以及易于使用高性能的并行计算工具。 ----chardet是一个通用字符编码检测器,兼容Python2和3。使用chardet检测编码非常简单,支持多种编码列表,同时支持检测中文、韩文、日文等多种语言。 ----difflib是Python中的标准库模块。用于对比序列之间的差异,例如,它可以用于比较文件,可以产生各种格式的不同信息,包括HTML和上下文以及统一的差异。在版本控制方面有着不错的效果。 ----ftfy用来修复被破坏的Unicode编码,包含乱码和其他的一些小故障。它的目标是接收一些破碎的不完整的Unicode字符,输出完整的准确的Unicode字符而不是接收非Unicode字符输出Unicode字符。ftfy将尽其所能的修复编码问题。 ----fuzzywuzzy是一个简单易用的字符串模糊匹配工具。它使用Levenshtein距离计算两个序列之间的差异。主要包含四种匹配方式:简单匹配、非完全匹配、忽略顺序匹配以及去重子集匹配。除了Python,它也被移植到了Java等常用语言环境中。 -Levenshtein----python-Levenshtein是一个快速计算Levenshtein距离和字符串相似度的模块。它能够快速计算出编辑距离以及编辑操作。同时支持普通字符串和Unicode字符串。 ----pangu是一个在文本间添加空间的工具。为了使文本具有良好的可读性,在中文、日文、韩文与半角字符(英文字母、数字和符号)之间自动添加空格。其实现了多种语言版本,包含Python,Go,Java,JavaScript等。 ----pyfiglet是figlet的Python实现。和figlet不同的是,它允许你的字体集合保存在一个大的压缩文件中。使用pyfiglet有两种方式。首先它可以像C中的figlet那样使用命令行操作,并且支持大多数相同的选项;其次它也是一个可以在Python代码中使用的库。 ----pypinyin是一个将汉字转拼音的库。可以用于汉字拼音、排序、检索。它能够根据词组智能匹配最正确的拼音,支持多音字、简单的繁体字以及注音,同时支持多种不同的拼音注音风格。 ----textdistance是一个用于比较两个或多个序列之间距离的Python库。它使用30多种不同的算法计算序列的距离,所有的算法都有两种接口。纯Python实现以及可以使用numpy进行加速。 ----unidecode是一个将Unicode文本音译成ASCII字符的工具。它提供的unidecode函数接收Unicode数据并尝试用ASCII字符表示,两个字符集之间的映射偏向于选择使用美式键盘的人的习惯。 Models----models是Django中的对象关系映射库。你的数据的唯一确定来源就是一个模型。它存储了数据的基本字段和行为。通常,每个模型映射到一个数据库表。 ----SQLAlchemy是Python 中的SQL工具包和对象关系映射器。它为应用程序开发人员提供了SQL的全部功能和灵活性。它提供了一整套众所周知的企业级持久性模式,这些模式是为高效和高性能的数据库访问而设计的。 ----dataset将Python字典存储在数据库中,可以使用SQLite、MySQL和PostgreSQL。它使得SQL的数据存储变得简单同时支持隐式表创建、批量加载和事务。简而言之,dataset使得读取和写入数据库中的数据就像读取和写入JSON一样简单。 ----Orator提供了一个简单而漂亮的ActiveRecord实现。它的灵感来自于Laravel框架的数据库部分,但在很大程度上进行了修改,使其更符合python风格。 ----orm是Python中的异步对象关系映射器,同时支持Postgres,MySQL和SQLite。它由SQLAlchemy核心,databases和typesystem构成。的、因为orm构建在SQLAlchemy内核上,所以可以使用Alembic来提供数据库迁移。 ----Peewee是一个简单灵活的ORM。它只包含了很少的概念却都具表现力,使得它易于学习和使用。支持sqlite, mysql, postgresql和cockroachdb,同时包含很多的扩展。 ----Pony是一个高级的对象关系映射器。它最有趣的特性是能够使用Python生成器表达式和lambadas向数据库编写查询。Pony分析表达式的抽象语法树,并将其转换成SQL查询。 ----pyDAL是一个纯粹的Python数据库抽象层。它使用指定的数据库后端语言动态地实时生成SQL/noSQL,pyDAL来自于最初的web2py的DAL,目的是与任何Python程序兼容。它不需要web2py,可以在任何Python环境中使用。 -redis----HOT Redis是一个用于redis-py客户端的包装器。它提供了广泛的数据类型模仿Python中的内置数据类型,如列表、字典和集合,以及标准库中的许多类例如Queue、threading和collections。 ----MongoEngine是一个MongoDB中的Python对象-文档映射器。它是基于pymongo开发的ODM库,对应与SQLAlchemy。同时,在MongoEngine基础上封装了Flask-MongoEngine,用于支持flask框架。

Python123-考试题库说明2020

Python123之公共基础知识篇