作者snobbery (egoist)
看板Python
標題[問題] 一個奇怪的return用法
時間Wed Apr 30 03:23:55 2014
在scikit範例程式碼當中, 我看到以下那樣的片段:
class StemmedTfidfVectorizer(TfidfVectorizer):
def build_analyzer(self):
analyzer=super(TfidfVectorizer, self).build_analyzer()
return lambda doc: (english_stemmer.stem(w) for w in analyzer(doc))
我看不懂這樣的return寫法,
一般來說, return後面不就是傳回一個變數, 或是一個list什麼的,
但是這裡怎麼又有lambda這種看起來像是變數的東西,
可又有doc: 以及後面那堆東西,
這樣要怎麼解讀呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.138.21.18
※ 文章網址: http://www.ptt.cc/bbs/Python/M.1398799437.A.E24.html
→ birdhackor:lambda 是匿名函數,簡單來說這個回傳是回傳一個 04/30 03:31
→ birdhackor:匿名函式物件 04/30 03:32
→ Microscft:先別管lambda了 你連for語法都不懂 是不是該買本入門書 04/30 09:54
→ Microscft:來好好k個兩三次再來看scikit這種高級貨 04/30 09:54
→ Microscft:你現在很像剛學會26個英文字母就急著跑去翻莎士比亞 04/30 09:55
→ Microscft:到處都看不懂不會覺得很受挫很打擊信心嗎?? 04/30 09:57
→ ccwang002:縮排歪了?它回傳一個函式,這函式執行回傳 generator 04/30 10:06