你可能忽略的 Python 功能:Ellipsis (...)
即使寫了 Python 如此多年,我仍未發覺 ... (你沒看錯,三個點)在 Python 也是一個 object,而且它有些不為人知的妙用,可以提昇程式碼的簡潔性或可讀性,如果你跟我一樣不知道 ... 的用法,歡迎閱讀此文!
196 篇
即使寫了 Python 如此多年,我仍未發覺 ... (你沒看錯,三個點)在 Python 也是一個 object,而且它有些不為人知的妙用,可以提昇程式碼的簡潔性或可讀性,如果你跟我一樣不知道 ... 的用法,歡迎閱讀此文!
以前在開發 Chrome 擴充 NimoTab 時,有 1 個功能需要將相似/相同的網頁標題分群在一起,例如下圖: 當時用的是土炮的方法(但其實類似 DBSCAN),不過後來跟從事機器學習的同事討教有沒有更好的做法時,才知道有 1 個稱為…
Floyd-Warshall 演算法,又稱佛洛伊德演算法,主要用於找出圖(graph)中所有頂點之間的最短路徑,它也能用來偵測圖中是否存在閉環(cycle)。 本文將使用 Python 學習 Floyd-Warshall 演算法,並且以找出…
aiomultiprocess 是 1 個既實用又有趣的套件。 它實用的地方在於能將多個 coroutines 分散到多個 processes 執行(底層使用 multiprocessing 模組),藉此提升 asyncio 的效能。 而有…
由於現代有著各式各樣方便的程式、指令工具可以使用,我們不見得需要從頭到尾自行開發,有時候藉由 Python 膠水語言的特性,我們可以輕鬆地整合各種程式、指令工具打造適合我們或者滿足我們需求的工具,不僅省時還省力!而且實務上,我們也很常利用…
在「你知道 asyncio 的 event loop 是怎麼 loop 的嗎?談 event loop 的排程與執行」一文中,我們談了 asyncio 是如何進行工作排程與執行工作,不過沒有提到它如何處理 I/O 工作的細節(例如網路傳輸)…
最近接觸了一些牌類遊戲的開發,發現如何洗牌也是 1 個學問,所以特別查了一個重要的演算法 Fisher-Yates Shuffle / Knuth Shuffle ,發現 Python 的 random.shuffle() 也使用相同的演算…
眾所皆知, Python 不是一個以效能著稱的語言,所以更特別需要注意一些會讓程式變慢的錯誤。 本文將介紹初學者常犯的錯誤「使用正規表示式時,未正確使用 re.compile() 」。 本文環境# Python 3 常見錯誤 — 未使用 r…