作者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://webptt.com/cn.aspx?n=bbs/Python/M.1398799437.A.E24.html
1F:→ birdhackor:lambda 是匿名函数,简单来说这个回传是回传一个 04/30 03:31
2F:→ birdhackor:匿名函式物件 04/30 03:32
3F:→ Microscft:先别管lambda了 你连for语法都不懂 是不是该买本入门书 04/30 09:54
4F:→ Microscft:来好好k个两三次再来看scikit这种高级货 04/30 09:54
5F:→ Microscft:你现在很像刚学会26个英文字母就急着跑去翻莎士比亚 04/30 09:55
6F:→ Microscft:到处都看不懂不会觉得很受挫很打击信心吗?? 04/30 09:57
7F:→ ccwang002:缩排歪了?它回传一个函式,这函式执行回传 generator 04/30 10:06