What functools.wraps restores when you decorate a function
A decorator replaces your function with a wrapper, so its name, docstring, and signature change. Here is exactly what functools.wraps copies back and how it records __wrapped__.
A decorator replaces your function with a wrapper, so its name, docstring, and signature change. Here is exactly what functools.wraps copies back and how it records __wrapped__.
用 list 或 dict 當函式的預設參數值,資料會跨呼叫累積,因為預設值在 def 執行時就算好一次並掛在函式物件上。本文示範現象、用 __defaults__ 驗證,並給出 None 哨兵修法。
Python 3.12 起,itertools.batched 是把資料切成固定大小批次的標準做法:每批回傳 tuple,最後一批可能較短,3.13 再加上 strict。另外整理 yield、列表推導式、islice、numpy.array_split 各自吃什麼輸入。
三引號字串只有放在模組、函式或類別的第一個陳述式才會變成 docstring 進到 __doc__,放在其他位置就是一段求值完丟掉的運算式,而 # 註解在語法階段就被忽略。用 __doc__ 和 dis 實際跑一次看兩者的差別。
OpenCV Haar Cascade 人臉偵測:AdaBoost 弱分類器級聯架構,scaleFactor 與 minNeighbors 到底在數什麼、為什麼要一起調,用 detectMultiScale2 讀出鄰居數量,以及這些 cascade 檔案在現在的 OpenCV 裡的狀態。
根據林軒田機器學習基石課程實作 PLA,並拆開 w ← w + y·x 這一步:它對內積做了什麼、線性可分為什麼是收斂的前提、資料不可分時為什麼不會停,以及 Pocket PLA 和今天的損失函數換掉了什麼。