看板 Marginalman 關於我們 聯絡資訊
※ 引述《ZooseWu (動物園 公告)》之銘言: : 我想問一下 : 我現在把函數 curry 化 : 在 python 建議用 partial 嗎 : 用了之後很難讀懂欸 : 例如 obj[k] = v : 可以寫作 setitem(obj, k, v) : 加上 partial 之後變成 partial(setitem, obj, k) : 阿如果我要把 obj 最後塞的話就更麻煩了 : partial(setitem, key=k, value=v) : 可讀性我覺得不太優 : 還是只是因為我對 python 不熟 : 熟的話一眼就懂在寫什麼 其實很多庫都直接弄個*args, **kwargs給你 到docstring才跟你說要怎麼塞 Python早期文件至上的下場== 是說partial這個東西 通常是local用的 原則上上下文不要跳來跳去的話 基本上還是可讀的 而且靜態分析其實也能幫你抓出來 對ㄚ https://i.imgur.com/mYEnKYh.png
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.228.129.84 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1715270089.A.623.html
ZooseWu: 我寫 fp 就不能塞 arg 或 kwarg 05/10 00:06
ZooseWu: 除非寫 lambda 05/10 00:06
ZooseWu: 而且我寫 python 之後發現它的類型判斷比 ts 還準 05/10 00:08
ZooseWu: ts 沒定義型別它就出一堆 unknown 跟低能一樣 05/10 00:08
Apache: mypy的tail判斷還蠻準的 但如果兩層以上就會變回Any的樣子 05/10 00:10
ZooseWu: 我會寫一堆這種的 https://i.imgur.com/RxD9ZIy.png 05/10 00:10
Apache: Python的FP很爛 不要用== 05/10 00:11
ZooseWu: 我已經是 fp 的狗了 05/10 00:11
Apache: Python比較好用的是list comprehension 05/10 00:11
Apache: Python目前的語法做FP會讓你可讀性掉光 05/10 00:12
Apache: 你這個就寫成 a = [i * 2 for i in b] 05/10 00:13
ZooseWu: 我有看到很多介紹怎麼寫 Pythonic 的東西 但是蠻不習慣的 05/10 00:13
ZooseWu: 大概只有 for 或 if 會用到 05/10 00:14
ZooseWu: 大概只有這兩種我稍微會用到 05/10 00:14
Apache: 你可以試any all next 05/10 00:15