图源:unsplash

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

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789

不过,本文不打算介绍那些以实用为主要“卖点”的库,而是带你走进一些极为有趣的库,这些库可以展示Python的另一面,也恰恰证明了Python社区的繁荣发展。

1. Bashplotlib

图源: Unsplash

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

很快笔者就意识到,当没有任何可用的GUI时,它可能会很有用。这个情况可不太常见,它引起了笔者的好奇心。我这是一个非常有趣的Python库。

使用pip就可以很容易地安装Bashplotlib:

<span>pipinstall bashplotlib</span>

来看一些例子。在下面的代码中,导入了numpy来生成一些随机数组,当然还有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在Matplotlib中的功能一样。然后,使用Numpy生成一个包含1,000个服从正态分布的数字组成的随机数组。在此之后,可以很容易地绘制这些数据:

<span>plot_hist(arr, bincount=50)</span>

输出就像这样:

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

2.  PrettyTable

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

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

<span>pipinstall prettytable</span>

首先,导入这个库:

<span>from prettytable import PrettyTable</span>

然后,使用PrettyTable创建表格对象:

<span>table =PrettyTable()</span>

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

table.field_names= [ Name ,  Age ,  City ]
table.add_row(["Alice", 20, "Adelaide"])
table.add_row(["Bob", 20, "Brisbane"])
table.add_row(["Chris", 20, "Cairns"])
table.add_row(["David", 20, "Sydney"])
table.add_row(["Ella", 20, "Melbourne"])

只需打印就可显示表格:

<span>print(table)</span>

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

<span>table.align= r </span>

<span>print(table)</span>

按列对表格排序:

<span>table.sortby= &quot;City&quot;</span>

<span>print(table)</span>

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

3. Colorama

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

图源:unsplash

再一次使用pip安装Colorama:

<span>pipinstall colorama</span>

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

<span>fromcolorama import Fore, Back, Style</span>

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

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

<span>print(Back.RED+ Fore.WHITE + &quot;This is an error!&quot;)</span>

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

<span>print(Back.RESET+ Style.DIM + &quot;Another error!&quot;)</span>

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

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

<span>print(Style.RESET_ALL)</span>

4. FuzzyWuzzy

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

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

<span>pip installfuzzywuzzy</span>

导入库:

<span>fromfuzzywuzzy import fuzz</span>

做个简单的测试:

<span>fuzz.ratio(&quot;Let’sdo a simple test&quot;, &quot;Let us do a simple test&quot;)</span>

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

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

<span>fromfuzzywuzzy import processchoices = [&quot;Data Visualisation&quot;, &quot;DataVisualization&quot;, &quot;Customised Behaviours&quot;, &quot;CustomizedBehaviors&quot;]process.extract(&quot;data visulisation&quot;, choices,limit=2)</span>

<span>process.extract(&quot;custom behaviour&quot;, choices, limit=2)</span>

在上面的示例中,参数limit告诉FuzzyWuzzy提取“前n个”结果。否则将获得具有所有这些原始字符串及其相似性分数的元组列表。

5. TQDM

图源:unsplash

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

老办法,使用pip安装:

<span>pipinstall tqdm</span>

当for循环使用range函数时,只是把它替换为tqdm中的trange即可。

<span>fromtqdm import trangefor i in trange(100):</span>

<span> sleep(0.01)</span>

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

fromtqdm import tqdm
for e in tqdm([1,2,3,4,5,6,7,8,9]):sleep(0.5)  # Suppose we are doing something with theelements

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

图源: https://github.com/tqdm/tqdm

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

这5个有趣的Python库带你花式编码!相关推荐

  1. python有趣的代码-趣味至上主义:这5个有趣的Python库带你花式编码

    本文转载自公众号"读芯术"(ID:AI_Discovery) Python是如今最流行的编程语言之一,这点也给它本身带来很多好处,其中之一就是,为了方便进行程序开发,它拥有了大量优 ...

  2. 学Python太枯燥?不多BB这几个有趣的python 库让你爱上python

    随着每个 Python 版本的发布,都会添加新模块,并引入新的更好的做事方式,虽然我们都习惯了使用好的旧 Python 库和某些做事方式,但现在也时候升级并利用新的和改进的模块及其特性了. 今天给大家 ...

  3. 墙裂推荐!10个非常有趣的Python库!

    这是"菜鸟学Python",第"500"篇原创 大家好,我是菜鸟哥!学Python就等你啦! 爆款文案 1).卧槽!Pdf转Word用Python轻松搞定! 2 ...

  4. 10个非常有趣的Python库,可以玩上一整天

    Python语法简单,功能强大,可以干很多事情,原因就是因为它有强大的库支持,有很多很多现成的轮子可以用,你只要负责搭建应用即可. 1. Python假消息生产器 这个库叫Faker很有趣,可以创建一 ...

  5. 这些有趣的Python库一定会亮到你

    图片处理 pip install pillow from PIL import Image import numpy as npa = np.array(Image.open('test.jpg')) ...

  6. 这5个奇妙的Python库,你必须要试试,学python咱就是玩,欸~

    Python有着很多很酷的第三方库,可以使任务变得更容易. 今天就给大家分享5个有趣的Python库,每个都非常实用! 分别是speedtest.socket.textblob.pygame.pyqr ...

  7. 这10个奇妙的Python库,你必须要试试!

    大家好,我是小F- Python有着很多很酷的第三方库,可以使任务变得更容易. 今天就给大家分享10个有趣的Python库,每个都非常实用! 分别是speedtest.socket.textblob. ...

  8. python画图代码turtle-介绍下Python里自带的一个有趣画图模块库:Turtle库

    众所周知,Python 生态里面有数不尽的第三方库.所以大家在写程序的时候,总是到处去寻找各种各样的第三方库. 但大家没有注意到的是,Python 官方自带的库里面,也藏着各种各样的宝贝. 今天我们介 ...

  9. 十大被低估的python库_小白必读!十大被低估的Python自带库!

    原标题:小白必读!十大被低估的Python自带库! 大家在学习python的过程中,都会了解到python的一个强大的功能在于各种强大的第三方库函数,大家只需要通过pip install 即可安装我们 ...

最新文章

  1. metasploit 快速入门(三) 服务端漏洞利用
  2. 为什么美国互联网没有“运营”岗?
  3. Java文件操作:文件夹中搜索文件
  4. vim 常用快捷键(整理版)
  5. js百度地图小车html,H5页面引用百度地图绘制车辆历史轨迹
  6. 21天Jenkins打卡Day6安装插件
  7. iOS中使用SFHFKeychainUtils保存用户密码
  8. pyqt5 登录窗口调用主窗口
  9. Matplotlib 中文用户指南 8.2 我们最喜欢的秘籍
  10. 从零开始实现 AlphaGo(一)
  11. JS效果-灯箱效果-图片大图查看
  12. 【LeetCode】第934题——最短的桥(难度:中等)
  13. NYoj 366 D的小L 【DFS】
  14. 中国书信礼仪 (二)
  15. 使用Github和PicGO搭建免费图床
  16. 应用礼学赋能新员工职业素养提升
  17. 西安市建筑物矢量数据(Shp格式+带高度)
  18. Android 手机浏览器的开发
  19. MySQL为JSON字段创建索引(Multi-Valued Indexes 多值索引)
  20. linux CST与EDT时区互转

热门文章

  1. 计算可能的编译结果数
  2. ExchangeServer2016 HAB 分层通讯簿 设置教程
  3. cacti无密码登录
  4. local variable 'xxx' referenced before assignment
  5. 缓存面试 - 为什么要用缓存?缓存使用不当会造成什么后果?
  6. npm切换淘宝源,yarn切换淘宝源
  7. 【Unity|C#】基础篇(1)——基础入门
  8. excel如何快速选中某个区域
  9. 04737 c++ 自学考试2019版 第四章课后练习 程序设计题 2
  10. chrome net::ERR_CERT_AUTHORITY_INVALID 问题