multiprocessing.Pool.map() 方法抛出 AttributeError

from multiprocessing import Pool


class A:

  def __init__(self, n):

    self.n = n


  def __foo(self, i):

    return i + 1


  def bar(self):

    l = list(map(self.__foo, range(self.n)))

    print(len(l))


  def baz(self):

    pool = Pool(2)

    l = list(pool.map(self.__foo, range(self.n)))

    print(len(l))


a = A(3)

a.bar()

a.baz()

这是简短的输出:


3

AttributeError: 'A' object has no attribute '__foo'

我想用它Pool来处理一个大的dataframe,但Pool.map不起作用——如何处理它?


慕妹3146593
浏览 127回答 1
1回答

慕斯王

__foo不要为;使用双下划线名称 这个名字被破坏了。_foo如果您想将成员标记为内部或“私人”,请使用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python