类函数中的Python映射
非常简单
我有这个:
for i in self.Abilities:
i.OnTimer(amount)
我可以用这样的东西吗?
map(Ability.OnTimer,self.Abilities,amount)
我想用类里的函数配合map,但我就是搞不定。
2 个回答
6
你应该用 map
来计算一系列的值,而不是为了它的副作用。如果你要执行一系列的操作,使用 for
循环会更容易读懂。这样别人更容易理解你代码的意图。
4
你可以使用 functools.partial
来提前给一个函数提供参数,然后再调用它:
from functools import partial
map(partial(Ability.OnTimer, amount = amount), self.Abilities)
但是你真的觉得这样会更容易理解吗?另外要注意,在Python 3中,map
是懒惰的哦!