我想在类中定义类似以下的函数:
class multiprocessing_np_arr_base_class(object):
def pool_init(self, _shr_var1, _shar_var2, _shr_var3,...):
global shr_var1
shr_var1 = _shr_var1
global shr_var2
shr_var2 = _shr_var2
global shr_var3
shr_var3 = _shr_var3
...
pool_init编写非常繁琐。是否可以定义一个函数,该函数自动为给定函数的每个变量x执行两行(全局x,x = _x)?
pool_init函数模仿J.F. Sebastian的回答at Use numpy array in shared memory for multiprocessing。我目前正在使用python 2.7。
感谢您的帮助。
答案 0 :(得分:1)
我建议你实现这样的东西:
shr_var = {}
class multiprocessing_np_arr_base_class(object):
def __init__(self, **kwargs):
for k, v in kwargs.items():
shr_var[k] = v
然后用法是:
a = multiprocessing_np_arr_base_class(a=2,b=3)
shr_var
Out[15]: {'a': 2, 'b': 3}