Passer une fonction en paramètre à une autre

Résolu/Fermé
SuiHerger Messages postés 8 Date d'inscription mardi 10 juin 2014 Statut Membre Dernière intervention 5 août 2014 - Modifié par SuiHerger le 17/06/2014 à 16:16
SuiHerger Messages postés 8 Date d'inscription mardi 10 juin 2014 Statut Membre Dernière intervention 5 août 2014 - 18 juin 2014 à 11:08
Bonjour,

Je souhaite passer une fonction à une autre. Non pas le résultat comment dans :

maFonction(pow(2,2))


qui revient au même que

maFonction(4)


mais véritablement que maFonction() puisse exécuter la fonction que je lui donne en paramètre. Quelque chose du style:

maFonction( func_param, x):
    return func_param(x)



ce qui donnerait quelque chose de ce genre à l'exécution:

maFonction( math.sqrt, 4)
>>> 2

maFonction( math.sin, 60)
>>> -0.3048106211


J'ai besoin de cela car je travaille sur un script d'étalonnage. J'ai différents paramètres à étalonner. Cela signifie que les fonctions à appeler pour interroger ces paramètre sont différentes mais que le mécanisme général est toujours le même (capture de N point, calcule de l'offset puis de la pente...)

Je ne sais pas si cela est possible en python. J'espère que j'ai été clair dans mon explication, sinon faites le moi savoir!

Merci

2 réponses

Utilisateur anonyme
18 juin 2014 à 09:19
Eh bien tu as donné la réponse

def maFonction(func, param):
    return func(param)


Je vois pas où est le problème, car tu le fais correctement selon moi...
3