I have a function that takes multiple parameters as input, calculates something, and returns different things depending on the input parameters. Here is my function:
def my_function(other_parameters, evaluate_res=False, data_test =True, data_test=None, eval_mode='loss'):
if eval_mode == 'r2':
r2_list_test = [],
if eval_mode == 'loss':
return losses, r2_list,
.... some calculations...
if evaluate_res:
if data_test:
if eval_mode == 'r2':
return losses, r2_list, r2_list_test
if eval_mode == 'loss':
return losses, r2_list, losses_test
else:
return losses, r2_list
else:
return losses
It looks ugly since it contains repetitions and the desired return is just simply must be
return losses, r2_list, r2_list_test, losses_test
for only those losses, r2_list, r2_list_test, losses_test that exist.
How to decrease number of lines in the code and write it in more elegant way?
Aucun commentaire:
Enregistrer un commentaire