我可以在Python中使用类而不是带有map的函数吗?

我可以在Python中使用类而不是带有map的函数吗?,python,map,Python,Map,根据,映射函数“将函数应用于iterable的每个项并返回结果列表”。我注意到它也适用于类,例如,map(MyClass,get_iterable())并返回类实例列表。 这是否正确使用了map?是的,python是duck类型的,因此如果可以在iterable上调用某些东西(例如MyClass构造函数),那么它将不会返回错误(它将是有效的) 是的,python是duck类型的,因此如果可以在iterable上调用某些东西(比如MyClass构造函数),那么它将不会返回任何错误(并且是有效的)

根据,映射函数“将函数应用于iterable的每个项并返回结果列表”。我注意到它也适用于类,例如,
map(MyClass,get_iterable())
并返回类实例列表。

这是否正确使用了
map

是的,python是duck类型的,因此如果可以在iterable上调用某些东西(例如MyClass构造函数),那么它将不会返回错误(它将是有效的)

是的,python是duck类型的,因此如果可以在iterable上调用某些东西(比如MyClass构造函数),那么它将不会返回任何错误(并且是有效的)

是的。在您的示例中,实际上是将类的构造函数映射到项列表。

是。在您的示例中,实际上是将类的构造函数映射到项列表。

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

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

试试:

>>> map(str, [1,2,3])
['1', '2', '3']
doc引用
函数
作为参数的名称。它的类型不相关-应该只能调用它。

试试:

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

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

map
需要一个可调用的。如果一个对象是可调用的,那么它也可以工作:

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

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

map
需要一个可调用的。如果一个对象是可调用的,那么它也可以工作:

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

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

每个
type
都是一个callable每个
type
都是一个callable,有不同的词,文档说“map(banana,iterable,…)将香蕉应用到iterable的每个项目并返回结果列表”@planetp你有没有理由不接受我的答案?用不同的词,文档说“map(banana,iterable,…)将香蕉应用于iterable的每一项,并返回结果列表“@planetp有什么原因让你不接受我的答案吗?