Why python 2: negative number cannot be raised to a fractional power, but work on Python 3

問題是這個樣子的 [crayon-64229aa49e030323057708/] 為什麼會有 Python 2 不能運算 (-1) ** .5 而 Python 3 可以的狀況?直覺想就是 Python 2 的 integer __pow__ 並沒有支援 pow 運算轉型為 Complex,而在 Python 3 中會轉行為 Complex。但是要怎麼驗證這個行為? 編譯 CPython 並且使用

Continue Reading

手動修復交通部 CCTV 錯誤的 GPS 資料

最近在做一個手機 APP,用到了來自 data.gov.tw 的資料,分別是「省道交控路側設備資料」、「CCTV 靜態資訊(cctv_info.xml.gz)」以及「CCTV 動態資訊(cctv_value.xml.gz)」。 開放資料的慘況 裡面最關鍵的資料就是靜態資訊的 px 以及 py ,也就是 WGS84 的 Longitude 以及 Latitude。可是根據我實際測驗我的 APP 的結果

Continue Reading

(那些過時的) Python 字串格式化以及 f-string 字串格式化

在 Python 裡頭,目前的最新版本 (3.6.2) 中總共有 3 種不同的方式來達成字串格式化 (String format)。分別是 %-formatting、str.format 以及 f-string。本文將會逐一介紹這些 Python 的字串格式化方式。 01. %-formatting 偉大的 C 語言字串格式化深入我們的生活,Python 自然也不意外的會有這個功能。 [crayon

Continue Reading

tracemalloc — 記憶體配置除錯 — 你所不知道的 Python 標準函式庫用法 09

透過 tracemalloc 將可以記錄下 Python 的記憶體區塊配置狀況,同時透過這些記錄來輸出有用的記憶體配置資訊,例如說執行記憶體配置的檔案以及行數、記憶體區塊大小等。也可以透過比對兩個不同的記憶體區塊快照,來找出記憶體洩漏的問題。

Continue Reading