热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python有趣的5个库_这5个有趣的Python库带你花式编码!

云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!Python是如今最流行的

云栖号资讯:【点击查看更多行业资讯】

在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

Python是如今最流行的编程语言之一,这点也给它本身带) W d 4 e来很多好处,其中之一就是,为了方便进行程序开发,它拥有了大量优秀的库,如Pandas、Numpy、MatploI G +tlib、SciPy等。

不过,本文不打算介绍那些以实用为主要“卖点”的库,而是带你走进一些极为有趣的库,这些库可以展示Python的另一面,也恰L t N e 7 0 ^ 9恰证明了Python社区的繁荣发展: K W * D G $。

1. Bashplotlib

Bashplotlib是i K l ` 8一个Python库,使得能够在R # r I a .命令行stdout环境中绘制数据。老实说,第一次看到这个库的时候,笔者很疑惑,我们为什么可能会需要这样的库?

很快笔者就意识到,当没有任何可用的GUI时,它可能会很有用。这个情况可不太常见,它引w e ] h -起了笔者的好奇心。我这n e T 4 . { Q ]是一个非常有趣的Python9 P - u ) c {库。

使用pip就可以很容易W d R 1 c D 6 d地安装Bashplotlib:

pipinstall bashplotlib

来看一些例子。在下面的代码中,导入了nump3 0 V E 7 6 b 7y来生成一些随机数组,当然还有bashplotlib。

importnumpy as np

from bashplotlib.histogram import plot_hist

arr = np.random.normal(size=1000, loc=0, scale=1)

plot_hist是bashplotlib的一个函数,用于在直方图中绘制一维数据,就像plt.hist在Matplot| Q ^ ? m x N $lib中的功能一样。然后,使用Numpy生成一个包含1,000个服从正态分布的数字组成的随机数组。在此之后,可以很容易地绘制这些数据:

plot_hist0 m 9 i 2 #(arr, bincount=5] H . 00)

输出就像这样:

你也可以从文本文件中用散点图来绘制数据。

2. PrettyTable

Bashplotlib在命令行环境中绘制数据,而PrettyTable以一种好看的9 5 A N }格式绘制输出结果表。

同L p s Q样的,使用pip可以很容易地安装这个库:

pipinstH n i w X 0all prettytable

首先,导入这个库:

from prettytable import Preto 6 U 6 OtyTable

然后,使用PrettyT` H & J O _able创建表格对象:

table =P. o s U g z [rettyTable()

一旦创建表格对象,就可以开始添加域和数据列了:

table.field_n3 n a ; ~ 6 $ K sames= [ Name , Age , City ]

table.add_row(["Alice", 20, "A- _ !delaide"])+ W 2 I f c S

table.add_row(["Bob", 20, "Brisbane"])

table.add_row(["Chris", 20, "Cairns"])

table.add_row(["Davi, , m e 0d", 20, "Sydney"])

table.add_row(["Ella", 20, "Mel? D *bouY { r ; y i Z -rne"])

只需打印就可显示表格:

print(table)

Pretty1 P j D x q D lTable还支持改进表格样式,几乎包括可以想到的任何方面。例如,我们可以右对齐表格中的文字:

table.align= r

print(table)

按列对表格排序:+ . 6 =

table.s% = n y y H `ortby= "City"

print(table)

甚至可以得到表格的HTML字符串

3. Colorama

想为命令行应用程序添加一些颜色吗?Colorama可以很容易地输出你喜. 7 A | O &欢的颜色。

再一次使用pip安装Coloram[ | (a:

pipinstall colorama

Colorama支持在“前景”(文本颜色)、“g q ! c背景”(背景颜F F ^ k T色)和“风格”(额外的风格的颜色)中支持渲染输出颜色。可以导入:

fromcolorama import Fore, Back, Style

首先使a w F用黄色显示一些警告:

然后尝试使用红色背景显示一些错误:

p9 a ! c A X F T ;rint(Back.RED+ Fore.WHITE + "This is an error!")

红色太艳了。使用“dim”风格。

print(Back.RESET) C r X Z l f 6+ Style.DIM + "Another error!")

此处设置“RESET”改变背景颜色为默认。

“DIM”样式使字体不可见。A H .若想把所有东西都恢复正常时,只需将“Style”设置为“RESET_ALL”:

print(StylO D r H ^e.RESET_ALL)

4. FuU : l Z HzzyWuzzy

很多时候,你可能想为程序实现一个“模糊”搜索功能K W l ) [ M [ 6 R,FuzzyWuzzy提供了一个开箱即用的轻量级解决方案。

和再去一样,使用pip安装:

pip installfuzzywuzzy

导入库:[ ? L 9

fromfuzzywuzzy import fuzz

做个简单的测试:

fuzz.ratio# d A("Let’sdo a simple test", "Let us do a simple test")

如结果所示,“93”表示这两个字符串有93%的相似性,这相当高了。

当有一个字符串列表,想要搜索所有的字符串,FuzzyWuzzy将帮助提取最相关的字符串及其相似性。

fromfuzzywuzzy import processchoo G - - / $ $ P yices = ["Data Visualisation", "DataVisualization", "Customised Behaviours", "CustomizedBehaviors"]process.extrF h cact("data visulisation",k 7 ] 0 & X ! choices,limit=2)

process.extract("custom behaviour", choices, limit=2)

在上面的示例中,参数limiG 1 h 0t告诉FuzzyWu3 3 + q fzzy提取“前n个”结果。否则将获得具有所有这些原始字符串及其相似性分数的元组列表。

5. TQK + J o mDM

你通常会使用Python来开发命令行工具吗?4 Q如果是的话一定要试试这个库。当CLI{ C T 7 `工具处理一些耗时的事情时,它将通过显示一个进度条来t 7 C B :指示完成了多少工作,帮助你了解情况。

老办法,使用pip安装:

pipinstall tqdm

当for循环使用rans R S hge函数时,只是T 1 C把它替换为tqdm中的trange即可。

fromtqdm import trangefor i in trange(100):

sleep(0.01)

一般来说,对列表做循环。使用tqdm也很容易。

fromtqdm import tqdm

for e in tqdm([1,2,3t e 5 } 7 g q U p,4,5,6,7,8,9]):

sleep(0.5) # Supp3 J aose we are doing something with theeU O Y # ! ] slements

tqdm不仅适用于命令行环境,还适用于iPython / Jupyter Notebook。

在看到Bashph } a + QlotlibQ W D 6 ` m 3库之前,必须说笔者从来没有在命令行环境中绘制数据的想法。人类发展思想和创造力的多样性从来没有停止过,这让一切事物变得有趣起来。何不去试试呢?

【云栖号在线课堂】每天都有产@ b p r 9 A $品技术专家分享!

课程地址:https://yqh.aliyun.com/live

立即加入社* ^ J L Y D Q群,与专家面对面,k 2 z - f k S [ 8及时了解课程最新动态!

【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-05-28

本文作者:读芯术

本文来自:“读芯5 y = D术公众号”,了解相关信息可以关注“读B N C芯术”



推荐阅读
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • Python使用Pillow包生成验证码图片的方法
    本文介绍了使用Python中的Pillow包生成验证码图片的方法。通过随机生成数字和符号,并添加干扰象素,生成一幅验证码图片。需要配置好Python环境,并安装Pillow库。代码实现包括导入Pillow包和随机模块,定义随机生成字母、数字和字体颜色的函数。 ... [详细]
  • VSCode快速查看函数定义和代码追踪方法详解
    本文详细介绍了在VSCode中快速查看函数定义和代码追踪的方法,包括跳转到定义位置的三种方式和返回跳转前的位置的快捷键。同时,还介绍了代码追踪插件的使用以及对符号跳转的不足之处。文章指出,直接跳转到定义和实现的位置对于程序员来说非常重要,但需要语言本身的支持。以TypeScript为例,按下F12即可跳转到函数的定义处。 ... [详细]
  • Introduction(简介)Forbeingapowerfulobject-orientedprogramminglanguage,Cisuseda ... [详细]
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
  • STL迭代器的种类及其功能介绍
    本文介绍了标准模板库(STL)定义的五种迭代器的种类和功能。通过图表展示了这几种迭代器之间的关系,并详细描述了各个迭代器的功能和使用方法。其中,输入迭代器用于从容器中读取元素,输出迭代器用于向容器中写入元素,正向迭代器是输入迭代器和输出迭代器的组合。本文的目的是帮助读者更好地理解STL迭代器的使用方法和特点。 ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
author-avatar
mobiledu2502903757
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有