[問題] 一個奇怪的return用法

看板Python作者 (egoist)時間11年前 (2014/04/30 03:23), 編輯推噓0(007)
留言7則, 3人參與, 最新討論串1/1
在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

04/30 03:31, , 1F
lambda 是匿名函數,簡單來說這個回傳是回傳一個
04/30 03:31, 1F

04/30 03:32, , 2F
匿名函式物件
04/30 03:32, 2F

04/30 09:54, , 3F
先別管lambda了 你連for語法都不懂 是不是該買本入門書
04/30 09:54, 3F

04/30 09:54, , 4F
來好好k個兩三次再來看scikit這種高級貨
04/30 09:54, 4F

04/30 09:55, , 5F
你現在很像剛學會26個英文字母就急著跑去翻莎士比亞
04/30 09:55, 5F

04/30 09:57, , 6F
到處都看不懂不會覺得很受挫很打擊信心嗎??
04/30 09:57, 6F

04/30 10:06, , 7F
縮排歪了?它回傳一個函式,這函式執行回傳 generator
04/30 10:06, 7F
文章代碼(AID): #1JN_nDua (Python)
文章代碼(AID): #1JN_nDua (Python)