定义一个函数,为python中给出的每个输入重复命令

时间:2016-05-29 14:07:38

标签: python function

我想在类中定义类似以下的函数:

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。

感谢您的帮助。

1 个答案:

答案 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}