def agg_cal(*args, process_num=None): """Multi-processing calculator.""" result = Tools.agg_cal(cal, *args, process_num=process_num) return result
additional1='dididid', add2='eieiei') indicator_class_test = Indicator(df_source=None) i = indicator_class_test print(i) print(i.get_range()) print(i.get_current_args()) print(i.random_start()) print('-' * 30) # 多进程cal计算 调用方式: args_list = [] for x in range(9): instance = Indicator(df_source=x) args_for_one = (instance, 1) # cal所需的参数(只支持位置参数)写在这tuple里,包括self实例本身 args_list.append(args_for_one) # 构造多进程参数列表 Tools.agg_cal( Indicator.cal, # 实例对应的计算函数,这里是Indicator的实例 *args_list, # 参数列表 process_num=3 # 多进程数 ) # copy -------------------------------- print('copy issue ----------------------') print(i.__dict__)