Je veux écrire une fonction (function_A
) pour optimiser les paramètres d'une autre fonction (function_B
) par itération. La fonction dont les paramètres à optimiser est:Comment référencer une variable de fonction en tant que paramètre d'une autre fonction?
def function_B(a=10, b=12, c=14, d= 18):
value = (...)
return value
Maintenant, je veux trouver les combinaisons de paramètres a
, b
, c
, d
qui optimiser les résultats en fonction de certains critères. Alors j'écris la fonction suivante - par exemple - l'utilisateur peut spécifier le paramètre à optimiser, dans ce cas, nous choisissons d'optimiser le paramètre a
:
def function_A(variable = a, min = 10, max = 20):
value = np.zeros((max - min + 1)) # initialize an empty vector to store results
count = 0
for i in np.linspace(1, 20, 20, endpoint=True):
ans = function_B(variable = i)
value[count] = ans
count = count + 1
return value
Le problème est, je ne sais pas comment spécifier dans a
function_A
. J'ai essayé d'utiliser:
function_A(variable = a, ...)
function_A(variable = 'a', ...)
mais ne travaille ... comment spécifier 'a'
est le paramètre que je veux itérer?
Merci, mais je ne comprends toujours pas .. J'ai essayé le code suivant comme un exemple simple, et a obtenu msg erreur. pourriez-vous me montrer où je me suis trompé? – user7269791
'def A (a = 1, b = 2): return a + b' et ' def B (var = 'a', min = 10): temp_dict = {var: min} ans = A (var) return ans' alors je l'ai testé 'B (var = 'b')' et j'ai obtenu l'erreur msg _TypeError: impossible de concaténer 'str' et 'int' objects_ – user7269791