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
不起作用——如何处理它?
不要为__foo
使用双下划线名称;这个名字被弄乱了。
如果要将成员标记为内部成员或",请使用CCD_;私人的";。