你可能忽略的 Python 功能:Ellipsis (...)
即使寫了 Python 如此多年,我仍未發覺 ... (你沒看錯,三個點)在 Python 也是一個 object,而且它有些不為人知的妙用,可以提昇程式碼的簡潔性或可讀性,如果
Posted on Apr 9, 2025 in Python 程式設計 - 初階 by Amo Chen ‐ 3 min read
即使寫了 Python 如此多年,我仍未發覺 ... (你沒看錯,三個點)在 Python 也是一個 object,而且它有些不為人知的妙用,可以提昇程式碼的簡潔性或可讀性,如果
Posted on Apr 9, 2025 in Python 程式設計 - 初階 by Amo Chen ‐ 3 min read
如果說有一種方法能像奇異博士那樣看到 14,000,605 種未來,那大概就是蒙地卡羅方法了。
在接觸蒙地卡羅方法之前,我曾以為它是一種神奇的演算法。但深入了解後才發現,蒙地卡羅方法其實是一種簡單、直觀且實用的工具!
本文將介紹蒙地卡羅方法,並使用 Python 進行實際演練,從計算 π 值到模擬台股的長期投資,幫助大家從理論到實務全面掌握!
Posted on Sep 9, 2024 in Python 程式設計 - 初階 by Amo Chen ‐ 5 min read
Floyd-Warshall 演算法,又稱佛洛伊德演算法,主要用於找出圖(graph)中所有頂點之間的最短路徑,它也能用來偵測圖中是否存在閉環(cycle)。
本文將使用 Python 學習 Floyd-Warshall 演算法,並且以找出城市與城市之間最便宜機票組合作為應用範例,讓讀者對 Floyd-Warshall 演算法有深入的了解。
Posted on Aug 16, 2024 in Python 程式設計 - 初階 , 演算法 by Amo Chen ‐ 4 min read
最近接觸了一些牌類遊戲的開發,發現如何洗牌也是 1 個學問,所以特別查了一個重要的演算法 Fisher-Yates Shuffle / Knuth Shuffle ,發現 Python 的 random.shuffle() 也使用相同的演算法實作,所以特別將 Fisher-Yates Shuffle / Knuth Shuffle 實作細節與視覺化做出來,希望可以讓不熟悉的人也能迅速上手。
Posted on Jul 4, 2024 in Python 程式設計 - 初階 , 演算法 by Amo Chen ‐ 3 min read
眾所皆知, Python 不是一個以效能著稱的語言,所以更特別需要注意一些會讓程式變慢的錯誤。 本文將介紹初學者常犯的錯誤「使用正規表示式時,未正確使用 re.compile() 」
Last updated on Jul 4, 2024 in Python 程式設計 - 初階 by Amo Chen ‐ 3 min read
大家初次使用 Python 的 logging 模組時,應該都跟我同樣困惑過,例如下列程式碼:
import logging
log = logging.getLogger(__name__)
log.info('Hello')
我們會預期上述程式碼要列印 Hello
的字串,然而事實是不會。
這是由於 Python logging 模組預設的 log level 為 WARNING
, 所以只有 WARNING
, ERROR
以及 CRITICAL
才會顯示。
所以使用 logging 模組通常都要額外做一些設定才行,這不免需要讀一下 Python 官方文件。(這不是 Python 的問題,只是設計哲學不同)
那麼,有沒有什麼套件比起內建的 logging 模組更直覺好用呢?
答案是「有」,那就是本文要介紹的 structlog 套件。
Posted on Aug 30, 2023 in Python 模組/套件推薦 , Python 程式設計 - 初階 by Amo Chen ‐ 4 min read
相信大家學寫程式都有相同的一段經驗,那就是看不懂例外錯誤(exceptions)訊息的意思,你可能每個單字都認識,但組合起來就像天書一樣難以理解⋯⋯。
如果有更容易理解的例外錯誤訊息的話,相信會減輕大家在學習與除錯的痛點!
本文要介紹的 better-exceptions 套件,是一個不管新手、老手都適用的套件,它改良了 Python 的例外錯誤訊息,把錯誤當下的變數值一併顯示在例外錯誤訊息當中,就這一個貼心的舉動,大大改善大家在學習與除錯的體驗。
是一個值得推薦與擁有的套件!
Posted on Aug 25, 2023 in Python 模組/套件推薦 , Python 程式設計 - 初階 by Amo Chen ‐ 3 min read
開發程式時,字串的輸出經常會需要做一些格式(format),例如數字加上千分位符號、百分比,又或者需要置左、置中、置右對齊等等,這些需求 Python 也都有照顧到,本文將介紹 Python 如何做字串的格式化以及各種範例,讓大家都能夠輕鬆完成字串的格式化!
Last updated on Apr 9, 2024 in Python 程式設計 - 初階 by Amo Chen ‐ 5 min read