Python 中有哪些讓人眼前一亮的工具?
作為最流行的編程語(yǔ)言之一,Python 擁有大量?jī)?yōu)秀的庫(kù),如Pandas、Numpy、Matplotlib、SciPy 等,它們極大的提升了開(kāi)發(fā)速度。
在這篇文章中,我給大家分享一些讓人眼前一亮的庫(kù),這些庫(kù)不僅有趣,而且非常實(shí)用,同時(shí)也展示 Python 社區(qū)的蓬勃發(fā)展。
1、Bashplotlib
老實(shí)說(shuō), 當(dāng)我第一次看到這個(gè)庫(kù)時(shí), 我質(zhì)疑為什么人們可能需要這個(gè)呢?Bashplotlib 是一個(gè) Python 庫(kù),使我們能夠在命令行粗曠的環(huán)境中繪制數(shù)據(jù)。
很快我意識(shí)到,如果我們沒(méi)有可用的GUI時(shí),它可能會(huì)很有用。這種情況可能不會(huì)那么頻繁,但它卻是一個(gè)非常有趣的Python庫(kù)。
安裝
pip?install?bashplotlib
讓我們看看一些例子
此外,還可以從文本文件的散點(diǎn)圖中繪制數(shù)據(jù)
2、PrettyTable
我剛剛介紹的 Bashplotlib 用于在命令行環(huán)境中繪制數(shù)據(jù),而 PrettyTable 則用于漂亮的格式輸出表。
安裝
pip?install?prettytable
讓我們看個(gè)例子
from?prettytable?import?PrettyTable
table?=?PrettyTable()
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"])
print(table)

PrettyTable 支持優(yōu)化表功能。例如,可以右對(duì)齊表中的文本:
table.align?=?'r'
print(table)

對(duì)表進(jìn)行排序
table.sortby?=?"City"
print(table)
甚至可以獲取表的 HTML 字符串
3、FuzzyWuzzy
在我看來(lái),F(xiàn)uzzyWuzzy 不僅有趣,而且很有用。很多時(shí)候,可能希望為程序?qū)崿F(xiàn)"模糊"搜索功能。FuzzyWuzzy 為你提供開(kāi)箱即用且重量輕的解決方案。
安裝
pip?install?fuzzywuzzy
讓我們做一個(gè)簡(jiǎn)單的測(cè)試
from?fuzzywuzzy?import?fuzz
fuzz.ratio("Let’s?do?a?simple?test",?"Let?us?do?a?simple?test")

上面結(jié)果"93"意味著這兩個(gè)字符串具有 93% 的相似性,這已相當(dāng)高。
當(dāng)你有字符串列表,并且要針對(duì)所有這些字符串搜索一個(gè)術(shù)語(yǔ)時(shí),F(xiàn)uzzyWuzzy 將幫助提取最相關(guān)的字符串及其相似性。
from?fuzzywuzzy?import?process
choices?=?["Data?Visualisation",?"Data?Visualization",?"Customised?Behaviours",?"Customized?Behaviors"]
process.extract("data?visulisation",?choices,?limit=2)
process.extract("custom?behaviour",?choices,?limit=2)

4、TQDM
你是否通常使用 Python 開(kāi)發(fā)命令行工具?如果是這樣,這個(gè)有趣的庫(kù)將幫助你,當(dāng)你正在處理一些耗時(shí)的東西,通過(guò)顯示進(jìn)度條,來(lái)指示已經(jīng)做了多少。
安裝
pip?install?tqdm
使用 for 循環(huán)函數(shù)時(shí),只需將其替換為 trange
from?tqdm?import?trange
for?i?in?trange(100):
????sleep(0.01)

tqdm 不僅適用于命令行環(huán)境,還適用于 iPython/Jupyter 筆記本

5、Colorama
是否要為命令行程序添加一些顏色?Colorama 可以使你喜歡的顏色輸出變得非常簡(jiǎn)單。
安裝
pip?install?colorama
我們可以導(dǎo)入
from?colorama?import?Fore,?Back,?Style
首先,讓我們用黃色顯示一些警告
print(Fore.YELLOW)
print("This?is?a?warning!")
然后讓我們嘗試使用紅色背景顏色顯示一些錯(cuò)誤
print(Back.RED?+?Fore.WHITE?+?"This?is?an?error!")

當(dāng)我們想要將一切恢復(fù)正常時(shí),只需將"樣式"設(shè)置為"RESET_ALL"
print(Style.RESET_ALL)

總結(jié)
在看過(guò) Bashplotlib 庫(kù)之前,不得不說(shuō),在命令行環(huán)境中繪制數(shù)據(jù),我從未有過(guò)這樣的想法。這五個(gè)庫(kù)不僅讓人眼前一亮,而且非常實(shí)用,相信在以后的工作中可以提高你的生產(chǎn)力。

大家好,最后給大家免費(fèi)分享 Python 三件套:《ThinkPython》、《簡(jiǎn)明Python教程》、《Python進(jìn)階》的PDF電子版。如果你是剛?cè)腴T(mén)的小白,不用想了,這是最好的學(xué)習(xí)教材。
現(xiàn)在免費(fèi)分享出來(lái),有需要的讀者可以下載學(xué)習(xí),在下面的公眾號(hào)里回復(fù)關(guān)鍵字:三件套,就行。
領(lǐng)取方式:
長(zhǎng)按掃碼,發(fā)消息?[三件套]
