我可以在Python中使用类来代替函数吗?

根据文档, map函数“将函数应用于每个可迭代项并返回结果列表”。 我注意到它也适用于类,例如map(MyClass, get_iterable())并返回类实例列表。
这是正确的使用map


该文档实际上说“将函数应用于每个可迭代项”,其中函数是对参数名称的引用。 所以是的, map可以用于任何可调用的; 并且所有类型都是可调用的(因为它们将创建该类型的对象)。


map期望可调用。 如果一个对象是可调用的,那也可以工作:

class Foo(object):
    def __call__(self, foo):
        return foo

print map(Foo(), [1,2,3])

尝试一下:

>>> map(str, [1,2,3])
['1', '2', '3']

该doc将function作为参数的名称。 它的类型是不相关的 - 它应该只能被调用。

链接地址: http://www.djcxy.com/p/53581.html

上一篇: Can I use a class instead of a function with map in Python?

下一篇: map function for objects (instead of arrays)