如下所示,当想用python的字典实现switch语句,以实现根据不同输入参数调用不同函数时,我们的想法是需要的时候再调用对应分支函数,但python的字典类型会先把所有分支函数都调用一遍,获取返回值,然后在调switch_m.get()方法的时候再将返回值返回,这样当我们需要频繁的更改
s_data_cnt,train_data_rate这两个参数然后根据split_mode来调用不同实现函数的时候,就会频繁的调用所有分支函数,造成大量的无用计算
switch_m = {
0:SplitDataByRateDirectly(s_data_cnt,train_data_rate),
1:SplitDataByRateMode1(s_data_cnt,train_data_rate)
}
(train_index,test_index) = switch_m.get(split_mode,'split mode is not defined!')