榮登前十個神級好用的Python函式庫,你知道幾個?(1)

榮登前十個神級好用的Python函式庫,你知道幾個?(1)

榮登前十個神級好用的Python函式庫,你知道幾個?(1)
榮登前十個神級好用的Python函式庫,你知道幾個?(1)

是哪10個Python函式庫榮登去年最好用?”這些”函式庫你都知道嗎?(1)

國外的機器學習與資料科學顧問公司「Tyrolabs」每年底都會選出年度十大最強 Python 函式庫。去年(2020)年尾不例外。

根據 Tyrolabs 提出的免責聲明,2020 年他們在精選出 10 大函式庫時,在很大程度上是受到機器學習與數據科學的影響——儘管其中有幾個確實對「非」數據科學的人士非常有用。

因此,除了 10 個入選的 Python 函式庫之外,他們決定在從遺珠之憾中,挑出幾個他們覺得同樣重要的數據庫,列入「榮譽表揚(Honorable mentions)」的部分。

以下為入選的十大 Python 函式庫:

Typer:讓命令列介面更好編輯

雖然你並不總是需要編寫沒有圖像、滿滿文字的 CLI(命令列介面)應用程式,但是一但遇到了,一定會十分希望能速戰速決、無後顧之憂。FastAPI 的創作者「tiangolo」繼之前的 FastAPI 框架取得巨大的成功後,使用了相同的原理創作了新的函式庫 「Typer」,使你可以借力於 3.6 以上版本的 Python 才有的「類型提示(Type Hinting)」功能來編寫命令行介面。

這樣的設計讓 Typer 脫穎而出。藉由「類型提示(Type Hinting)」功能,您可以在 Python 編輯器(如 VSCode)中享有「自動完成」功能,這將大大提高您的工作效率;除了能確保所寫的程式碼是否完整被紀錄之外,你也可以花最少的力氣寫出純文字的 CLI 命令列介面的應用程式。

▲ Typer 賦予 Python 編輯器(圖中為 VSCode)「自動完成」的功能,能有效提升寫程式的效率。(圖:FastAPI)

 

為了增強其功能,Typer 被建立在知名的「命令列神器」Click 之上。這意味著 Typer 可以充分利用 Click 既有的所有優點、社群與插件,使用更簡潔的樣版代碼,並依據所需,進行更複雜的工作。

Rich:讓命令列介面從黑白變彩色

依循命令行介面 CLI 的主題,誰說終端應用程式必須是單色的白色、或是駭客電影中常見的黑色、綠色呢?太無聊了!

身為 Python 工程師的你,是否會想再終端輸出時添加色彩與樣式,就像是在打印複雜的表格時加入心跳特效、毫不費力地展示漂亮的進度條、markdown 或是表情符號?Rich 函式庫可以實現上述特效,如以下所示:

▲ Rich 函式庫能讓單色的命令列介面(CLI)變彩色,還能有多種視覺特效、表情符號等。

 

無庸置疑的,Rich 可讓命令列字元的應用程式,外觀換然一新,給人的視覺上體驗。

Dear PyGui:賦予終端機程式真正的圖像化介面

藉由 Rich 函式庫,終端應用程式變漂亮了,但是有時這樣的美化還不夠,你甚至會需要一個新的 GUI 圖形介面。此時你需要 Dear PyGui——一款 Dear ImGui C++ 計畫的 Python 接口。

Dear PyGui 使用了在電玩中最常使用的即時模式(immediate mode),這代表著動態 GUI 是一個影格(frame)接著另一個影格獨立繪製的,不需保留任何資料。這使得「Dear PyGui」與其他 Python GUI 框架有所區別。它不僅具有高性能,而且使用電腦的 GPU 來促成高度動態界面的構建,這在工程、模擬、遊戲及資料科學的應用程式可說是經常被需要的。

 

▲ Dear PyGui 套用了電玩常用的即時模式,能賦予終端機程式真正的圖像化介面

 

本篇介紹均為把單調的「命令列介面」變漂亮的 Python 函式庫。若 Python 的錯誤信息也能這樣美化的話,工程師在 debug 時就不會這麼痛苦了!沒錯,「PrettyErrors」就是為這一目的而生。請點此看下一篇,閱讀了解!另外還有只用 Python 就能繪製雲系統架構的「Diagrams」、還有可將複雜的機器學習項目「結構化」的「Hydra 與 OmegaConf」,請不要錯過!

 

 

 

 

 

推薦文章:
人工智慧能「聽咳嗽聲認出新冠患者」!成功率達 98.5%


用說的就能寫程式!人工智慧替手傷工程師開發語音程式工具


Google 正測試人工智慧系統,助盲人和視障人士獨立參加路跑


Nature:語言天才比數學高手更適合學 Python!別在嘴文科生、女性不能寫程式了


人工智慧當起媒人婆?!讓你不再寂寞空虛冷!


蛋白質折疊背後的秘密竟被人工智慧輕易破解?!(上)


最夯程式語言Python和Java竟也跑進科幻電影?(上)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *