用白話文談數學公式 - 熵(entropy)
Claude Shannon 於 Information Theory 研究中提出熵(entropy)的概念,可以說是影響後續機器學習(machine learning)發展相當重要的概念。
熵看似難以理解,但其實是 1 個很簡單的概念,只要了解其背後的意義就能夠輕鬆上手。
Posted on Jun 12, 2021 in 數學概念 by Amo Chen ‐ 3 min read
Claude Shannon 於 Information Theory 研究中提出熵(entropy)的概念,可以說是影響後續機器學習(machine learning)發展相當重要的概念。
熵看似難以理解,但其實是 1 個很簡單的概念,只要了解其背後的意義就能夠輕鬆上手。
Posted on Jun 12, 2021 in 數學概念 by Amo Chen ‐ 3 min read
先前 Python multiprocessing 模組簡單說明與範例 一文簡述 multiprocessing 模組中 Pool, Manager 的使用方法,也講述如何在多個 Processes 之間共享資料,不過仍有許多關於 multiprocessing 中的功能尚未詳述,例如 Process 類別(class), Queue, Pipe 等等,這些功能不僅重要也很實用,是邁向 Python 高階功能的必學項目,因此不可忽視。
本文將透過實際範例了解更多關於 multiprocessing 模組中實用的功能。
Posted on May 1, 2021 in Python 程式設計 - 中階 by Amo Chen ‐ 11 min read
在 pytest 教學 一文,我們學會如何利用 pytest 更輕鬆地撰寫 Python 的測試程式,但 pytest 所提供的方便功能不僅僅如此,pytest 還有許多好用的 plugins 能夠利用,使用得當的話,將可增加開發效率。
剛好 15 amazing pytest plugins 中提到不少實用的 pytest plugins, 本文就將其中 7 項進行簡介。
Posted on Apr 12, 2021 in Python 模組/套件推薦 by Amo Chen ‐ 3 min read
談到插入(insert)元素到已排序串列(list) ,最暴力的方法就是每次插入元素後直接排序:
>>> a = [1, 2, 3, 4]
>>> a.insert(0, 5)
>>> a
[5, 1, 2, 3, 4]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5]
不過隨著串列越來越長,每次插入元素後再進行排序的方式,將會越來越慢,甚至造成大量不必要的運算,這時可以利用 Python 內建模組 bisect ,透過二元搜尋的方式幫我們插入元素到串列之中,如此一來該串列就不需要在新增元素後進行排序。
p.s bisect 只能運用在已排序過的串列(list)
Posted on Feb 7, 2021 in Python 程式設計 - 初階 by Amo Chen ‐ 3 min read
先前 用 pydantic 輕鬆進行設定管理(Settings management) 一文曾提及利用 pydantic 管理設定,但其實也可以驗證資料,本文將介紹如何透過 pydantic 驗證資料,保證有效減少開發驗證各種資料的繁瑣。
Last updated on Mar 26, 2024 in Python 模組/套件推薦 by Amo Chen ‐ 4 min read
近來查閱 Python 關於 datetime 的標準日期格式(datetime.isoformat)的時候,發現一個奇妙的行為,該行為可能造成日期格式不一致。
Posted on Dec 10, 2020 in Python 程式設計 - 初階 by Amo Chen ‐ 1 min read
在 Python 淺談 with 語句 一文中,我們已介紹基本的 with
語法與何謂 context manager 以及簡單的 context manager 實作。
除了該文所提供的實作方法之外,也可以利用 Python 內建的 contextlib 模組進行開發,此外該模組也提供若干實用的 context manager 可以使用。
Posted on Nov 7, 2020 in Python 程式設計 - 中階 by Amo Chen ‐ 3 min read
Python 的 os 模組提供不少便利的功能讓我們能夠操作檔案/資料夾的路徑、操作等等。直到 Python 3.4 之後提供一個新模組 pathlib,將各種檔案/資料夾相關的操作封裝在 Path 等類別之中,讓檔案/資料夾的操作更加物件導向。
本文將說明與展示 pathlib 模組。
Posted on Oct 19, 2020 in Python 程式設計 - 初階 by Amo Chen ‐ 3 min read