【发布时间】:2012-06-25 18:47:54
【问题描述】:
以python内置pow()函数为例。
xs = [1,2,3,4,5,6,7,8]
from functools import partial
list(map(partial(pow,2),xs))
>>> [2, 4, 8, 16, 32, 128, 256]
但是我如何将 xs 提高到 2 的幂呢?
获取[1, 4, 9, 16, 25, 49, 64]
list(map(partial(pow,y=2),xs))
TypeError: pow() takes no keyword arguments
我知道列表推导会更容易。
【问题讨论】:
-
另一种从第二个参数开始的部分用法是部分方法省略了自己的参数
-
你可以使用的方法:
def meth(cls, self,...)然后partial(meth, cls)
标签: python arguments partial-application