dans MATLAB Il est possible de créer de cette façon, vous pouvez créer des fonctions sur le point sans avoir à créer des fichiers M. P> y a-t-il un moyen équivalent Python pour déclarer des fonctions et des variables en une seule ligne et de les appeler plus tard? P> P> poignées de fonction code> avec quelque chose comme
3 Réponses :
Les fonctions Lambda de Python sont quelque peu similaires: Cependant, vous pouvez obtenir des effets similaires en définissant simplement Les fonctions "normales" (par opposition à la Lambda) sont plus flexibles en ce qu'elles permettent des déclarations conditionnelles, des boucles, etc. p> Il n'y a aucune condition de placer des fonctions dans des fichiers dédiés ou Tout ce qui est d'autre de cette nature. P> enfin, les fonctions de Python sont des objets de première classe. Cela signifie entre autres choses que vous pouvez les transmettre comme des arguments dans d'autres fonctions. Ceci s'applique aux deux types de fonctions indiquées ci-dessus. P> p> fn () code> en fonction: p> < PRE> XXX PRE>
Les poignées de fonction peuvent également être transmises comme des arguments à Matlab.
@MATLABSORTER: En Python, une fonction (ou une Lambda) peut être transmise comme un argument à une autre fonction. Vous n'avez pas besoin d'une "poignée", vous venez de passer la fonction elle-même.
Ce n'est pas tout à fait la réponse complète. Dans matlab, on peut créer un fichier appelé fonctionnaire.M: à la ligne de commande: p> alors, on peut créer un la poignée de fonction telle que: p> puis on peut faire: p> une réponse complète indiquerait comment faire cela dans Python. P> Voici comment le faire: P> >>> myfunct(3)
30
s'avère qu'il y a quelque chose qui revient à 2,5 appelé Fonction partielle em> qui sont à peu près l'analogie exacte aux poignées de fonction.
Vous cherchez
lambda code>? Quel est le problème avecdef code>?