用 Python 寫 FP @ Tainan.py x MOSUT x FP 2014.11.22
-
Upload
chun-yu-tseng -
Category
Software
-
view
852 -
download
3
description
Transcript of 用 Python 寫 FP @ Tainan.py x MOSUT x FP 2014.11.22
⽤用 Python 寫 FP魯蛇喬 @ Tainan.py x MOSUT x FP 2014.11.22
暖場:⽤用 Python 寫 FP魯蛇喬 @ Tainan.py x MOSUT x FP 2014.11.22
閃電秀
感謝霸氣 hychen 投稿!
我先承認今天是標題詐欺保證不會聊到你想聽的 FP o.o”
Outline
• 今天不會聊怎麼⽤用 Python 內建的 FP 相關 functions
• 今天不會聊怎麼在 Python ⽤用 FP style 寫扣
• 今天聊有⼈人⽤用 Python 寫出 FP languages (interpreter)
• 但是我不會告訴你怎麼寫 =⼝口=”
• 因為今天是閃電秀 … 何以準備這麼少內容?
– 吃掉林北兩天的時間 … 我正在考慮寫部落格⽂文了。
「該死的 Monad。」
不聊 Python 內建的 FP functions沒時間啊啊啊啊啊
Part 1
• 不討論 Python 的 Lambda
• lambda x: x **2
• 不告訴你怎麼⽤用 map
• map(lambda x: x **2, [1, 2, 3, 4]) #[1, 4, 9, 16]
• 不告訴你怎麼⽤用 filter
• filter(lambda x: x % 3 == 0, [1, 2, 3, 4, 5, 6, 7]) #[3, 6]
• 不告訴你怎麼⽤用 reduce (2.x)
• reduce(lambda x, y: x + y, [1, 2, 3, 4, 5]) #15
四不⼀一沒有
沒有告訴你 function 在 Python 是⼀一等公⺠民
(看那精美的 decorator @)
勿⽤用 List Comprehensions
不會告訴你要到哪裡查表
• 可以玩玩 partial
不聊怎麼在 Python 使⽤用 FP style 寫扣反正聊了也只是被 hychen 打臉
Part 2
如果你堅持的話 …
•在 github 上
•功能超多!族繁不及備載
有⼈人⽤用 Python 寫出 FP language (Interpreters)
簡短到不⾏行的介紹,⾃自⼰己讀扣吧 XD
Part 3
「先不聊這個了,你聽過 16 萬⼈人⼀一起修 AI 課及後來 Udacity 的故事嗎?」
「先不聊這個了,你聽過 google 吧?」
100+ lines 的⼩小玩具
300+ lines 的⼩小玩具 - 改
• Video Demo
「怎麼可能跟得上 google 研究總監寫的扣 …」
「那來看看⼤大⼀一新⽣生第⼀一堂課的練習題吧 …」
• Video Demo
結論
• 演講前勿看 Haskell
• FP101x: workload 4 - 6 hours (week)是騙⼈人的
• 可以適當使⽤用 python 內建的 functional tools
• 可以「玩玩」Fn.py
• 可以⽤用 Python 寫點⼩小玩具
「還是可以學⼀一下 Python der …」
總結
避免⽤用太多 FP 之: 別讓 Python 不開⼼心