Partage
  • Partager sur Facebook
  • Partager sur Twitter

mot clés yield et return

Anonyme
    21 mai 2019 à 20:13:43

    bonjour je voudrai connaître la différence entre yield et return et dans quel cas les utilisés. je sais juste  que ce son des générateur. merci
    • Partager sur Facebook
    • Partager sur Twitter
      22 mai 2019 à 8:32:57

      Bonjour, tu as un exemple de code ? C'est sur quel langage ?
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        22 mai 2019 à 9:54:26

        il sagit du langage python, l'extrait de  code qui contient le mot clé yield, permet  de fair de la projection, 

        	
        
        def apply_perspective(points, camera_pos, viewer_pos):
        	#http://en.wikipedia.org/wiki/3D_projection#Perspective_projection
        	a, b, c = viewer_pos
        	d, e, f = camera_pos
        	for p in points:
        		x, y, z = p
        		x, y, z = x - d, y - e, z - f
        		t4 = a/x
        		yield (b - t4*y, c - t4*z)



        • Partager sur Facebook
        • Partager sur Twitter
          22 mai 2019 à 10:27:22

          Return, ça te retourne une fois une valeur (ou des valeurs avec une liste, tableau, etc). Yield lui tu peux voir un peu comme une "boucle de return", il va te retourner une valeur a chaque itération.

           "exécution de la fonction et renvoie une valeur à l'appelant, mais conserve suffisamment d'état pour permettre à la fonction de reprendre là où elle a été laissée. Une fois reprise, la fonction continue l'exécution immédiatement après la dernière exécution. Cela permet à son code de produire une série de valeurs dans le temps, plutôt de les calculer en une fois et de les renvoyer comme une liste."

          C'est souvent utilisé lors de calculs, de ce que j'ai vu. Ca évite de garder pas mal de chose en mémoire. Je ne l'ai pas souvent utilisé, mais si tu te forme à python je pense que c'est une des bonnes pratiques à prendre.

          -
          Edité par WorstDevEver 22 mai 2019 à 10:34:54

          • Partager sur Facebook
          • Partager sur Twitter

          Try->Fail->Learn->Converge to success :{\displaystyle Q[s,a]:=(1-\alpha )Q[s,a]+\alpha (r+\gamma ~max_{a'}Q[s',a'])}

          Anonyme
            22 mai 2019 à 11:06:11

            Les état de la fonction correspondes à ces paramètres ?
            • Partager sur Facebook
            • Partager sur Twitter
              22 mai 2019 à 11:13:18

              Paramètre et valeurs des variables internes.

              Petit exemple simple pour illustrer :

              def TonCalcul(): 
                  i = 1; 
                  while True: 
                      yield i*i                 
                      i += 1  # La prochaine exécution reprendra d'ici
              
              # Dans ton programme
              for valeur in TonCalcul(): 
                  if valeur > 50: 
                       break    
                  print(valeur)       

              T'aura en sortie :

              1 4 9 16 25 36 49

              -
              Edité par WorstDevEver 22 mai 2019 à 11:14:04

              • Partager sur Facebook
              • Partager sur Twitter

              Try->Fail->Learn->Converge to success :{\displaystyle Q[s,a]:=(1-\alpha )Q[s,a]+\alpha (r+\gamma ~max_{a'}Q[s',a'])}

              Anonyme
                22 mai 2019 à 12:56:42

                J'ai compris, merci pour l'explication  au revoir.
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  2 juin 2019 à 14:22:00

                  bonjour je remarque que python n'itére pas les float, est il possible de créer une class qui permet d'itéré les float
                  • Partager sur Facebook
                  • Partager sur Twitter
                    2 juin 2019 à 15:50:35

                    Salut,

                    Tu peux regarder ce tutoriel, en particulier les chapitres sur les conteneurs et les itérables. Que veux-tu dire par itérer les float ? Un exemple peut-être de ce que tu voudrais faire.

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Tutoriel Ruby - Bon tutoriel C - Tutoriel SDL 2 - Python avancé - Faîtes un zeste, devenez des zesteurs
                    Anonyme
                      2 juin 2019 à 17:43:22

                      voici un exemple 

                      >>> a = 1.23
                      >>> tuple(a)
                      Traceback (most recent call last):
                        File "<pyshell#1>", line 1, in <module>
                          tuple(a)
                      TypeError: 'float' object is not iterable
                      >>> 



                      • Partager sur Facebook
                      • Partager sur Twitter
                        2 juin 2019 à 18:37:56

                        Et tu voudrais que ça te donne quoi comme résultat, un tuple à un élément ? Si c'est le cas, alors (1.23,) te donne le résultat voulu. tuple(x) attend que x soit itérable et crée un tuple dont les éléments sont tous les éléments sur lesquels on itère avec x (donc tous les éléments de x).

                        -
                        Edité par yo@n97one 2 juin 2019 à 18:38:17

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Tutoriel Ruby - Bon tutoriel C - Tutoriel SDL 2 - Python avancé - Faîtes un zeste, devenez des zesteurs

                        mot clés yield et return

                        × 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