Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fonction lambda

    18 mai 2015 à 19:37:48

    fen.bind("<Left>",lambda event: move("gauche"))         
    fen.bind("<Right>",lambda event: move("droite"))
    fen.focus_force()

    Bonjour , quelqu'un serait me dire qu'elle rôle joue la fonction lambda ici  ? J'ai fais quelques recherches mais je n'arrive à comprendre ce qu'elle exécute précisément ,( 'move' est une autre fonction que j'ai crée).
    Merci d'avance pour votre réponse.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      18 mai 2015 à 19:39:53

      Ça te permet le droit d'avoir un argument à ta fonction move

      • Partager sur Facebook
      • Partager sur Twitter
        18 mai 2015 à 19:43:03

        • D'accord merci pour ta réponse.Mais lambda event ça veut dire quoi précisément ? Quand l’événement est reconnu , la fonction move  prend un argument c'est ça ?

        -
        Edité par Baptiste001 18 mai 2015 à 19:47:01

        • Partager sur Facebook
        • Partager sur Twitter
          18 mai 2015 à 20:04:17

          C'est équivalent à ceci:

          def fonction_anonyme1(event):
          
          move("gauche")
          

          def fonction_anonyme2(event):

          move("gauche")
          

          fen.bind("<Left>", fonction_anonyme1) fen.bind("<Right>", fonction_anonyme2) fen.focus_force()

          </pre>

          Donc la notation lambda te permet de créer une fonction mais sans lui donner de nom. Elle est utilisée comme argument de ta méthode bind. Chaque nouvel lambda crée une nouvelle fonction anonyme.

          On peut créer une fonction lambda avec 0 ou plusieurs arguments. Le corps de la fonction lambda ne peut comporter qu'une seule expression.

          -
          Edité par Dan737 18 mai 2015 à 20:04:40

          • Partager sur Facebook
          • Partager sur Twitter
            18 mai 2015 à 20:07:58

            D'accord merci pour ta réponse !
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              18 mai 2015 à 20:19:12

              event est l'argument d'une fonction anonyme, il représente l'instance de la classe Event, classe parmi tant d'autres dans Tkinter... Cette instance a divers attributs utilisables par la suite dans ton code, voir documentation.

              • Partager sur Facebook
              • Partager sur Twitter
                18 mai 2015 à 21:14:20

                merci encore pour vos réponses

                -
                Edité par Baptiste001 18 mai 2015 à 21:56:40

                • Partager sur Facebook
                • Partager sur Twitter

                Fonction lambda

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown