12
votes

Péritier de la fonction Python ALA MATLAB

dans MATLAB Il est possible de créer poignées de fonction avec quelque chose comme xxx

de cette façon, vous pouvez créer des fonctions sur le point sans avoir à créer des fichiers M.

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?


1 commentaires

Vous cherchez lambda ? Quel est le problème avec def ?


3 Réponses :


16
votes

Les fonctions Lambda de Python sont quelque peu similaires: xxx

Cependant, vous pouvez obtenir des effets similaires en définissant simplement fn () en fonction: < PRE> XXX

Les fonctions "normales" (par opposition à la Lambda) sont plus flexibles en ce qu'elles permettent des déclarations conditionnelles, des boucles, etc.

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.

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.


2 commentaires

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.



13
votes

Ce n'est pas tout à fait la réponse complète. Dans matlab, on peut créer un fichier appelé fonctionnaire.M: xxx pré>

à la ligne de commande: p> xxx pré>

alors, on peut créer un la poignée de fonction telle que: p> xxx pré>

puis on peut faire: p> xxx pré>

une réponse complète indiquerait comment faire cela dans Python. P>

Voici comment le faire: P>

>>> myfunct(3)
30


0 commentaires

0
votes

s'avère qu'il y a quelque chose qui revient à 2,5 appelé Fonction partielle qui sont à peu près l'analogie exacte aux poignées de fonction. xxx


0 commentaires