我知道函數functools
,但是它在普通python程序(不是:Haskell,Erlang,Clojure等)中編寫函數以在Python中返回函數的常見程度如何?返回函數的python函數
例如:
>>> def returnfunk(xs):
... return lambda x: list(filter(lambda y: x == y, xs))
...
>>> fn = returnfunk(["cat", "dog", "horse"])
>>>
>>> (fn("cow") == []) == True
True
>>> (fn("cat") == ['cat']) == True
True
>>>
>>> list(filter(fn, ["zebra", "elephant", "dog", "parrot", "cat"]))
['dog', 'cat']
是它意味着爲real (python) world
或更多的愛好,學歷,興趣?
這很普遍,函數只是另一種對象。你寫回來的函數是鈍的,你會使用列表理解。 – Julian 2012-07-30 19:49:59
這不是一個真正可以回答的問題......「普通」如何定義?答案的定義可能與你自己的不同。 – Ben 2012-07-30 19:51:52
我想我的意思是 - 這是Python社區普遍支持的方法嗎?我明白,事情可以用功能的方式來完成,但我不知道可插拔接口的例子。 – beoliver 2012-07-30 19:54:49