Partage
  • Partager sur Facebook
  • Partager sur Twitter

diference entre une instruction et une fonction ?

s'il vous plait

    3 septembre 2014 à 21:26:37

    bonsoir

    je debute en python et me demandais qu'est ce que la diference entre une instruction et une fonction ?

    Merci

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      3 septembre 2014 à 21:55:05

      Une instruction est une commande, en python 2.x, une commande ou instruction connue est print

      print "hello"

      Une fonction est un bloc de code contenant des expressions diverses comme d'autres fonctions, commandes, ...

      def function(arg):
          x = lambda u: u # autre fonction
          return x(arg) # return est une instruction
      
      



      -
      Edité par Anonyme 3 septembre 2014 à 21:55:36

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        3 septembre 2014 à 23:35:42

        Salut,

        en pratique, la différence, c'est surtout qu'une instruction est définie par le langage et que tu n'en ferras pas grand chose.

        Alors qu'une fonction, tu peux jouer avec. En Python, une fonction est un objet de premier ordre, au même titre que les entiers ou les listes. Ça veut dire qu'on peut les manipuler comme on veut. Il s'agit en plus d'objet anonymes (non liés au nom de la fonction).

        Tu peux faire des choses dans ce genre (en python 3 où print est une fonction)

        >>> import math
        >>> print, math.sin = math.sin, print
        >>> print(5)
        -0.9589242746631385
        >>> math.sin('salut')
        salut

        Mais c'est pas le plus drôle. Tu peux faire une fonction qui fabrique une autre fonction. Et la fonction fabriquée va conserver une mémoire des arguments donnés. En fait, python ne manipule pas des fonctions, mais des closures (en gros, la fonction plus son espace de nom). Petit exemple :

        def newPoly(coefs):
        
        def poly(x):
            r=0
            for coef in coefs:
                r = x*r + coef
            return r
        return poly
        

        f=newPoly([2, 0, 1]) # f: x -> 2x²+1

        print(f(1),f(2),f(3)) # 3 9 19

        </pre>

        Et plein d'autre choses rigolotes.

        -
        Edité par Anonyme 3 septembre 2014 à 23:38:29

        • Partager sur Facebook
        • Partager sur Twitter

        diference entre une instruction et une fonction ?

        × 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