看板 Python 關於我們 聯絡資訊
在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