Partage
  • Partager sur Facebook
  • Partager sur Twitter

Portée des variables

Sujet résolu
    17 septembre 2017 à 13:32:31

    Bonjour à tous,

    J'ai souligné le passage qui me posais probléme : 

    Etant donnée que la variable " a" a été définit dans l'espace global et est appelé dans l'espace local, c'est dans l'espace global que python va

    regarder non, parce que dans le passage que j'ai souligné il nous dise que python va regarder dans l'espace local ?

    • Partager sur Facebook
    • Partager sur Twitter
      17 septembre 2017 à 14:40:23

      Bonjour,

      Oui en effet il y a une faute. SI une variable n'existe pas en local, python va regarder en global. S'il ne le trouve pas il va déclencher une erreur.

      Bon courage

      • Partager sur Facebook
      • Partager sur Twitter
        17 septembre 2017 à 14:42:33

        Merci beaucoup :) 

        Une agréable journée 

        • Partager sur Facebook
        • Partager sur Twitter
          17 septembre 2017 à 15:32:21

          En fait, le cours parle de l'espace local dans lequel la fonction est définie. C'est à dire l'espace local extérieur à la fonction. Plusieurs espaces locaux coexistent, imbriqués les uns dans les autres. L'espace local le plus extérieur d'un module, c'est l'espace global.

          • Partager sur Facebook
          • Partager sur Twitter
            17 septembre 2017 à 15:53:49

            Bonjour ,

            Je comprends pas bien la différence entre l'espace extérieur à la fonction et l'espace global comment le différencier c'est quoi les limites de ces deux espace ? 

            • Partager sur Facebook
            • Partager sur Twitter
              17 septembre 2017 à 16:11:53

              Il peut y avoir des fonctions dans d'autres fonctions, par exemple.

              value = 10
              
              def outer():
                  value = 5
                  def inner():
                      print(value)
                  inner()
              

              Dans cet exemple, si on appelle outer, « 5 » est affichée sur la sortie. value n'est pas une variable locale à inner, mais locale à outer. Ce n'est pas la même variable que la value du scope global.

              • Partager sur Facebook
              • Partager sur Twitter
                17 septembre 2017 à 16:20:18

                Ok bien compris avec votre exemple mais dans l'exemple du cours a est bien une variable du scope global non parce qu'on aucune autre fonction englobant la fonction print_a comme dans votre exemple   ?

                -
                Edité par CasteloWoshu 17 septembre 2017 à 16:23:22

                • Partager sur Facebook
                • Partager sur Twitter
                  17 septembre 2017 à 16:39:53

                  Ok merci pour la précision :) 

                  donc enfaite c'est toujours relatif y a pas vraiment de scope global absolu si ? 

                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 septembre 2017 à 16:41:45

                    Voilà. Mais quand on parle de scope global, on fait référence au scope local du module. C'est aussi à ce scope que permet d'accéder le mot-clé global.

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Portée des variables

                    × 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