类函数中的Python映射

0 投票
2 回答
876 浏览
提问于 2025-04-16 12:27

非常简单

我有这个:

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 是懒惰的哦!

撰写回答