自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

趣味至上主義:這5個有趣的Python庫帶你花式編碼

開發(fā) 后端
Python是如今最流行的編程語言之一,這點也給它本身帶來很多好處,其中之一就是,為了方便進行程序開發(fā),它擁有了大量優(yōu)秀的庫,如Pandas、Numpy、Matplotlib、SciPy等。

本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)

Python是如今最流行的編程語言之一,這點也給它本身帶來很多好處,其中之一就是,為了方便進行程序開發(fā),它擁有了大量優(yōu)秀的庫,如Pandas、Numpy、Matplotlib、SciPy等。

不過,本文不打算介紹那些以實用為主要“賣點”的庫,而是帶你走進一些極為有趣的庫,這些庫可以展示Python的另一面,也恰恰證明了Python社區(qū)的繁榮發(fā)展。

[[328031]]

1. Bashplotlib

Bashplotlib是一個Python庫,使得能夠在命令行stdout環(huán)境中繪制數(shù)據(jù)。老實說,第一次看到這個庫的時候,筆者很疑惑,我們?yōu)槭裁纯赡軙枰@樣的庫?

很快筆者就意識到,當(dāng)沒有任何可用的GUI時,它可能會很有用。這個情況可不太常見,它引起了筆者的好奇心。我這是一個非常有趣的Python庫。

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

  1. pipinstall bashplotlib 

來看一些例子。在下面的代碼中,導(dǎo)入了numpy來生成一些隨機數(shù)組,當(dāng)然還有bashplotlib。

  1. importnumpy as np 
  2. from bashplotlib.histogram import plot_hist 
  3. arr = np.random.normal(size=1000loc=0scale=1

plot_hist是bashplotlib的一個函數(shù),用于在直方圖中繪制一維數(shù)據(jù),就像plt.hist在Matplotlib中的功能一樣。然后,使用Numpy生成一個包含1,000個服從正態(tài)分布的數(shù)字組成的隨機數(shù)組。在此之后,可以很容易地繪制這些數(shù)據(jù):

  1. plot_hist(arr, bincount=50

輸出就像這樣:

趣味至上主義:這5個有趣的Python庫帶你花式編碼

你也可以從文本文件中用散點圖來繪制數(shù)據(jù)。

[[328032]]

2. PrettyTable

Bashplotlib在命令行環(huán)境中繪制數(shù)據(jù),而PrettyTable以一種好看的格式繪制輸出結(jié)果表。

同樣的,使用pip可以很容易地安裝這個庫:

  1. pipinstall prettytable 

首先,導(dǎo)入這個庫:

  1. from prettytable import PrettyTable 

然后,使用PrettyTable創(chuàng)建表格對象:

  1. table =PrettyTable() 

一旦創(chuàng)建表格對象,就可以開始添加域和數(shù)據(jù)列了:

  1. table.field_names= ['Name', 'Age', 'City'] 
  2. table.add_row(["Alice", 20, "Adelaide"]) 
  3. table.add_row(["Bob", 20, "Brisbane"]) 
  4. table.add_row(["Chris", 20, "Cairns"]) 
  5. table.add_row(["David", 20, "Sydney"]) 
  6. table.add_row(["Ella", 20, "Melbourne"]) 

只需打印就可顯示表格:

print(table)

趣味至上主義:這5個有趣的Python庫帶你花式編碼

PrettyTable還支持改進表格樣式,幾乎包括可以想到的任何方面。例如,我們可以右對齊表格中的文字:

  1. table.align'r' 
  2. print(table) 

趣味至上主義:這5個有趣的Python庫帶你花式編碼

按列對表格排序:

  1. table.sortby"City" 
  2. print(table) 
趣味至上主義:這5個有趣的Python庫帶你花式編碼

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

趣味至上主義:這5個有趣的Python庫帶你花式編碼

3. Colorama

想為命令行應(yīng)用程序添加一些顏色嗎?Colorama可以很容易地輸出你喜歡的顏色。

[[328033]]

圖源:unsplash

再一次使用pip安裝Colorama:

Colorama支持在“前景”(文本顏色)、“背景”(背景顏色)和“風(fēng)格”(額外的風(fēng)格的顏色)中支持渲染輸出顏色??梢詫?dǎo)入:

  1. fromcolorama import Fore, Back, Style 

首先使用黃色顯示一些警告:

趣味至上主義:這5個有趣的Python庫帶你花式編碼

然后嘗試使用紅色背景顯示一些錯誤:

  1. print(Back.RED+ Fore.WHITE + "This is an error!") 
趣味至上主義:這5個有趣的Python庫帶你花式編碼

紅色太艷了。使用“dim”風(fēng)格。

  1. print(Back.RESET+ Style.DIM + "Another error!") 

此處設(shè)置“RESET”改變背景顏色為默認(rèn)。

趣味至上主義:這5個有趣的Python庫帶你花式編碼

“DIM”樣式使字體不可見。若想把所有東西都恢復(fù)正常時,只需將“Style”設(shè)置為“RESET_ALL”:

  1. print(Style.RESET_ALL) 
趣味至上主義:這5個有趣的Python庫帶你花式編碼

4. FuzzyWuzzy

很多時候,你可能想為程序?qū)崿F(xiàn)一個“模糊”搜索功能,F(xiàn)uzzyWuzzy提供了一個開箱即用的輕量級解決方案。

和再去一樣,使用pip安裝:

  1. pip installfuzzywuzzy 

導(dǎo)入庫:

  1. fromfuzzywuzzy import fuzz 

做個簡單的測試:

  1. fuzz.ratio("Let’sdo a simple test", "Let us do a simple test") 

如結(jié)果所示,“93”表示這兩個字符串有93%的相似性,這相當(dāng)高了。

當(dāng)有一個字符串列表,想要搜索所有的字符串,F(xiàn)uzzyWuzzy將幫助提取最相關(guān)的字符串及其相似性。

  1. fromfuzzywuzzy import processchoices = ["Data Visualisation", "DataVisualization", "Customised Behaviours", "CustomizedBehaviors"]process.extract("data visulisation", choices,limit=2
  2. process.extract("custom behaviour", choices, limit=2
趣味至上主義:這5個有趣的Python庫帶你花式編碼

在上面的示例中,參數(shù)limit告訴FuzzyWuzzy提取“前n個”結(jié)果。否則將獲得具有所有這些原始字符串及其相似性分?jǐn)?shù)的元組列表。

5. TQDM

[[328034]]

圖源:unsplash

你通常會使用Python來開發(fā)命令行工具嗎?如果是的話一定要試試這個庫。當(dāng)CLI工具處理一些耗時的事情時,它將通過顯示一個進度條來指示完成了多少工作,幫助你了解情況。

老辦法,使用pip安裝:

  1. pipinstall tqdm 

當(dāng)for循環(huán)使用range函數(shù)時,只是把它替換為tqdm中的trange即可。

  1. fromtqdm import trangefor i in trange(100): 
  2.     sleep(0.01) 
趣味至上主義:這5個有趣的Python庫帶你花式編碼

一般來說,對列表做循環(huán)。使用tqdm也很容易。

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

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

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

在看到Bashplotlib庫之前,必須說筆者從來沒有在命令行環(huán)境中繪制數(shù)據(jù)的想法。人類發(fā)展思想和創(chuàng)造力的多樣性從來沒有停止過,這讓一切事物變得有趣起來。何不去試試呢?

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2012-02-15 09:25:14

云計算數(shù)據(jù)整合文件傳輸

2023-08-13 16:32:12

JavaScript

2017-08-08 16:04:30

Python圖片處理文章提取器

2011-07-11 10:16:07

JavaScript

2019-12-03 19:09:19

JavaScriptNumbers阿里云計算

2011-02-13 13:04:00

HTML 5Web

2022-10-10 23:19:02

Python腳本語言工具庫

2021-07-13 10:59:49

Python可視化

2020-12-28 09:00:00

開發(fā)Python語言

2022-12-28 08:59:11

2014-07-24 09:39:52

Android L

2021-02-04 09:52:30

增強現(xiàn)實AR數(shù)字通信

2023-12-06 12:52:00

Python

2023-11-27 19:22:24

Python庫編程語言

2021-02-07 23:04:31

5G過年紅包

2016-12-05 15:15:52

JavaScriptCSS庫

2020-09-21 09:55:06

Python迭代器開發(fā)

2018-01-22 17:02:48

Python字符編碼ASCII

2015-05-25 10:40:22

Linux命令行技巧

2015-07-31 10:06:38

點贊
收藏

51CTO技術(shù)棧公眾號