当前位置: 首页 > news >正文

猿创征文 | 盘点10个冷门Python库,原来Python还能实现这些功能?

目录

  • 👉 1 PrettyErrors
  • 👉 2 Rich
  • 👉 3 Dear PyGui
  • 👉 4 HummingBird
  • 👉 5 HiPlot
  • 👉 6 Norfair
  • 👉 7 GeoPandas
  • 👉 8 PyAutoGUI
  • 👉 9 Plotly
  • 👉 10 Emoji

👉 1 PrettyErrors

PrettyErrors是一款可以让Python抛出的异常变得通俗易懂的强大工具。

官网的示例:

在这里插入图片描述
可以看出,出错的文件、所在行、所在函数或模块都被用不同的颜色标记出来,比起左边密密麻麻、眼花缭乱的错误提示,显然是优化过的提示更人性化!

这个工具有两种安装方式:

  • 全局安装
    python -m pip install pretty_errors
    
  • 局部项目使用
    import pretty_errors
    pretty_errors.configure(
     separator_character = '*',
     filename_display    = pretty_errors.FILENAME_EXTENDED,
     line_number_first   = True,
     display_link        = True,
     lines_before        = 5,
     lines_after         = 2,
     line_color          = pretty_errors.RED + '> ' + pretty_errors.default_config.line_color,
     code_color          = '  ' + pretty_errors.default_config.line_color,
     truncate_code       = True,
     display_locals      = True
     )
     pretty_errors.blacklist('c:/python')
    

👉 2 Rich

Rich是一个可以为终端提供富文本和精美格式的 Python 库,利用Rich API可以很容易的在终端输出添加各种颜色和不同风格。Rich还可以绘制漂亮的表格,进度条,markdown,突出显示语法的源代码及回溯等等。

在这里插入图片描述

官网的示例:
在这里插入图片描述
Rich是跨平台库,适用于LinuxOSXWindows。安装也很方便

python -m pip install rich

博主试着用了下这个库,下面是测试案例,体验拉满~。

from rich.console import Console
console = Console()

test_data = [
    {"专业": "模式识别与智能系统", "学科": "人工智能", "params": [None, 1, 2, 4, False, True], "id": "1",},
    {"专业": "模式识别与智能系统", "学科": "深度学习", "params": [7]},
    {"专业": "模式识别与智能系统", "学科": "机器视觉", "params": [42, 23], "id": "2"},
]

def test_log():
    enabled = False
    context = {
        "天气": "阴",
    }
    movies = ["误杀2", "江照黎明"]
    console.log("Hello from", console, "!")
    console.log(test_data, log_locals=True)

test_log()

在这里插入图片描述

👉 3 Dear PyGui

Dear PyGui是一个易于使用但功能强大的非终端Python GUI框架。

在这里插入图片描述

官网的示例:

在这里插入图片描述
Dear PyGui基于及时渲染和GPU来提供高度动态的用户接口,且Dear PyGui是跨平台的,在Windows 10macOSLinux甚至是树莓派Raspberry Pi 4上都能使用;安装起来也相当简单:

pip install dearpygui
or
pip3 install dearpygui

👉 4 HummingBird

HummingBird是微软推出的一款人工智能库,可以将传统人工智能模型编译成张量计算,了解深度学习框架,如Tensorflow、Pytorch的同学一定知道张量的重要性。

在这里插入图片描述

HummingBird允许用户几乎无缝地使用各种深度学习框架来加速机器学习模型,基于HummingBird有很多好处:

  • 所有当前或将来在神经网络框架中的优化都会被引入;
  • 硬件加速;
  • 提供独一无二的统一平台来支持所有传统机器学习模型和深度学习;
  • 无需重建模型

总之,HummingBird把深度学习的入门门槛又大大降低了。

HummingBird库的一行安装代码如下:

pip install hummingbird-ml

👉 5 HiPlot

HiPlot是微软推出的用于分析人工智能高维数据的库。

在这里插入图片描述

HiPlot是一个轻量级交互式可视化工具,用来帮助AI研究者发现高维数据中的关联和内在模式,同时采用并行渲染和其他图形化方式来展示信息。

官网的示例:

在这里插入图片描述

HiPlot库的一行安装命令如下:

pip install -U hiplot  # Or for conda users: conda install -c conda-forge hiplot

👉 6 Norfair

Norfair是一个轻量级平面物体跟踪Python库。

在这里插入图片描述

使用Norfair,你可以仅用几行代码就赋予任何检测算法目标跟踪的能力。

官网的示例:
在这里插入图片描述
Norfair库的一行安装命令如下:

pip install norfair

👉 7 GeoPandas

GeoPandas是用来处理地理空间数据的工具库,不仅完美融合了pandas数据类型,还提供了操作地理空间数据的高级接口。

官网的示例:

在这里插入图片描述
这个库的安装相对复杂,需要具备以下依赖:

  • numpy
  • pandas (version 1.0 or later)
  • shapely (interface to GEOS; version 1.7 or later)
  • fiona (interface to GDAL; version 1.8 or later)
  • pyproj (interface to PROJ; version 2.6.1 or later)
  • packaging

安装好依赖项后即可运行安装命令,如下:

pip install pygeos

👉 8 PyAutoGUI

PyAutoGUI是一个跨平台GUI自动化Python模块。用于以编程方式控制鼠标和键盘。可以让计算机完成你所设计的自动控制任务,解放你的双手

安装时会自动安装PyAutoGUI依赖的模块,包括PyTweeningPyScreezePyGetWindowPymsgBoxMouseInfo,因此只需一行命令,很方便:

pip install pyautogui

应用时也有很多封装好的API,例如

# 将鼠标光标移动到(200,300)
pyautogui.moveTo(200,300)
# 将鼠标光标移动到(400,500)
pyautogui.moveTo(400,500)

我做了个小示例:

在这里插入图片描述

👉 9 Plotly

Plotly是一个交互式的、开源的、基于浏览器的Python图形库,提供了30多种图表类型,包括

  • 科学图表
  • 3D图表
  • 统计图表
  • SVG地图
  • 金融图表

Plotly库的一行安装命令如下:

pip install plotly==5.6.0

需要注意的是plotly是建立在jupyter notebook上的,所以需要在jupyter notebook中导入这两个包,而不能使用VSCode

官网示例:

在这里插入图片描述

👉 10 Emoji

Emoji是个很有意思的Python库,事实上Unicode联盟支持一整套表情符号代码,Emoji库就提供了打印表情符号的Python接口,使编程更有趣。

Emoji库的一行安装命令如下:

pip install emoji --upgrade

看看Emoji库打印表情符号的效果:

>> import emoji
>> print(emoji.emojize('Python is :thumbs_up:'))
Python is 👍
>> print(emoji.emojize('Python is :thumbsup:', language='alias'))
Python is 👍
>> print(emoji.demojize('Python is 👍'))
Python is :thumbs_up:
>>> print(emoji.emojize("Python is fun :red_heart:"))
Python is fun ❤

🔥 更多精彩专栏

  • 《ROS从入门到精通》
  • 《机器人原理与技术》
  • 《机器学习强基计划》
  • 《计算机视觉教程》

👇源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系👇

相关文章:

  • Web自动化之Selenium常用操作
  • 猿创征文|【Typescript入门】常用数据类型(3)
  • 国产分布式数据库在证券行业的应用及实践
  • 折腾一晚上的事情,明白了一个道理
  • < Linux > 进程概念(1)
  • Nacos介绍以及使用
  • 数字孪生在工业制造中的应用领域及技术体系构建
  • 9.4-学习ing
  • Docker 学习笔记总结(二)
  • 标准地图获取及使用
  • Kubernetes控制平面组件:Controller-Manager控制器管理
  • 数据备份必备知识与策略设计方法
  • Checkerboard Artifacts(棋盘伪影)的发生以及解决方案:
  • 【算法题解】拓扑序计数+树形DP
  • 优雅编码之——传统项目中,使用openfeign替换掉项目中的httpclient
  • 【Leetcode】101. 对称二叉树
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • Android 架构优化~MVP 架构改造
  • Angular 响应式表单之下拉框
  • Django 博客开发教程 16 - 统计文章阅读量
  • ES6之路之模块详解
  • Fundebug计费标准解释:事件数是如何定义的?
  • Java 网络编程(2):UDP 的使用
  • Javascript设计模式学习之Observer(观察者)模式
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • 闭包,sync使用细节
  • 从伪并行的 Python 多线程说起
  • 从重复到重用
  • 关于Java中分层中遇到的一些问题
  • 欢迎参加第二届中国游戏开发者大会
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 软件开发学习的5大技巧,你知道吗?
  • 深入浏览器事件循环的本质
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 用Python写一份独特的元宵节祝福
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 智能合约Solidity教程-事件和日志(一)
  • 06-01 点餐小程序前台界面搭建
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • #、%和$符号在OGNL表达式中经常出现
  • #13 yum、编译安装与sed命令的使用
  • #stm32驱动外设模块总结w5500模块
  • ( 10 )MySQL中的外键
  • (2)Java 简介
  • (2)nginx 安装、启停
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (LeetCode) T14. Longest Common Prefix
  • (独孤九剑)--文件系统
  • (二)构建dubbo分布式平台-平台功能导图
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100