IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

comment faire en sorte qu'une variable devienne globale?


Sujet :

Python

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 19
    Par défaut comment faire en sorte qu'une variable devienne globale?
    Bonjour chers internautes,

    (Je peux vous appeler comme ça j'espère?)

    Je poste cette discussion parce que malgré mes recherches et mes efforts pour rendre une variable globale...
    Et bien ça ne marche pas COMPLETEMENT.
    Un peu, mais pas complètement...
    Et je dois admettre que c'est assez déconcertant.

    Notons ce programme, que je fais en simplifié, voilà:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    e = 0
    from abc import c
     
    c()
    Voila, ça, c'est le programme d'où je lance cette fonction.
    Bon, je dis abc et c, mais les noms n'ont pas d'importance dans mon cas.
    Vous pouvez l'appeler Pierre Paul ou Jacques, ça n'a pas d'importance.

    Ensuite, les fonctions, dans un autre fichier python appelé abc, donc (sinon, je n'utiliserai pas from blablabla import bidule).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    def a():
               global e
               print(e)
     
    def c():
               global e
               e = input("quelle valeur pour \"e\" ?")
               a()
    Et ça me dit, après avoir correctement exécuté la fonction c(), et donc en étant en train d'essayer d'exécuter la fonction a(), que la variable e n'est pas définie.
    Pourtant j'ai mis le "global" qui va bien, mais comme vous le voyez, ce mot béni n'a d'effet que sur la première variable qui est lancée.
    C'est triste.

    Voilà, si vous pensez pouvoir m'aider, je vous prierai de bien vouloir le faire et vous en serait EXTREMEMENT EXTREMEMENT reconnaissant.
    A Bientôt!

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Salut,
    Si je mets le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    def a():
               global e
               print(e)
     
    def c():
               global e
               e = input("quelle valeur pour \"e\" ?")
               a()
    dans un fichier turlu.py et que je lance la console:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> from turlu import c
    >>> c()
    quelle valeur pour "e" ?12
    12
    >>>
    çà fonctionne comme attendu.
    note: ce qui veut dire que le problème que vous avez est mal décrit par les informations que vous donnez.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 19
    Par défaut
    J'en ai assez, je pense que c'est mon ordi qui fait de la mauvaise volonté.

    J'en ai marre, j'en ai marre, j'en ai marre, j'en ai marre de dire que j'en ai marre, etc.

    Voilà, même ce programme tout basique que tu viens de me donner, witricks, et bah il marche pas! C'est génial! Si les choses marchaient pas comme ça, l'humanité se porterait comment?
    Je ne suis pas en train de dire que c'est ton programme qui ne fonctionne pas, mais mon ordinateur.

    Vraiment je sature d'avoir ce problème.

    Habituellement, vous apportez des réponses très rapidement, je vous en remercie, mais là, quelques soient les solutions que je cherche, aucune ne marche.

    C'est comme ça chez moi en informatique, ça marche avec les autres et pas avec moi.

    Bon, je vais réessayer, mais je pense que les réponses qui vont arriver après ne serviront pas (pour moi en tout cas, peut-être que si pour d'autres personnes quo ont rencontré le même problème que moi).
    Merci pour tout et à bientôt.

    *C'est le moment ou normalement on me dit "mais t'a pas oublié tel truc, quand même?" :'(*

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Citation Envoyé par Palisthe Voir le message
    Voilà, même ce programme tout basique que tu viens de me donner, witricks, et bah il marche pas! C'est génial! Si les choses marchaient pas comme ça, l'humanité se porterait comment?
    Je ne suis pas en train de dire que c'est ton programme qui ne fonctionne pas, mais mon ordinateur.
    "il marche pas" ne dit rien sur le problème rencontré lorsque vous avez essayé de le faire marcher.
    Plutôt que de geindre, allez manger, voir un film,... vous changer les idées et reprenez tout çà à tête reposée dans quelques dizaines d'heures. Ce sera bien plus efficace.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 19
    Par défaut
    Ça y est, j'ai fait les trois, et maintenant le programme fonctionne. :)

    Le gros, pas le petit, celui la, j'ai pas réessayer.
    Au passage, le petit ne fonctionnait pas car il ne trouvait pas le fichier dans lequel il y avait la fonction. Pourtant, j'ai tout fait comme il faut...
    Mé çè pô grav.

    Bon, aller, a bientôt.

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 19
    Par défaut Problème trouvé
    J'ai trouvé le problème, du moins je pense, et là, je ne pense pas qu'il y ait de solutions: le mot clé "global" ne fonctionne tout simplement pas.
    Et c'est assez triste.
    Comme je l'ai dit, malgré toutes les recherches que j'ai mené, aucune des solutions que j'ai trouvé n'a résolu le problème.
    Quelque soit l'emplacement du mot global dans la fonction, il n'a absolument pas l'effet qu'il devrait avoir.

    Le programme que je lance est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    a = 0
     
    from ooo import oo
     
    oooooo()
    Celui de la fonction est ce dernier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def oo():
           global a
           print("a vaut ", a,".")
     
    if __name__ == "__main__":
                    oooooo()

    Voilà, rien que pour vérifier que la variable a est bien retrouvée.
    Pas de chance, je tombe sur une exception de type NameError. a n'a pas été défini.
    global ne marche pas?

    Pensez vous?

    Merci pas avances pour vos réponses.

  7. #7
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 19
    Par défaut
    euh petite erreur dans le script de la fonction, la vraie version est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def oo():
           global a
           print("a vaut ", a,".")
     
    if __name__ == "__main__":
                    oo()
    Voila voila

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2017
    Messages : 22
    Par défaut
    Bonjour, je ne sais pas si c'est le cas dans le programme que vous testez, mais si vous mettez des def dans des def, il faut mettre les variables en global à chaque étage.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    def debut():
    	global a
    	a = "0"
     
    	def affichage():
    		global a
    		print("a vaut: "+a)
     
    	def saisie():
    		global a
    		a = input("a?")
    		affichage()
     
    	saisie()
    Après, ce n'est peut-être pas le cas dans votre programme et peut-être que le problème n'est pas la!

  9. #9
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Salut,

    Citation Envoyé par Palisthe Voir le message
    Voilà, rien que pour vérifier que la variable a est bien retrouvée.
    Pas de chance, je tombe sur une exception de type NameError. a n'a pas été défini.
    global ne marche pas?
    En Python, la portée d'une variable globale est limité au module.
    C'est ce que vous constatez en définissant une variable dans un module et en essayant d'y accéder depuis un autre çà retourne "NameError".
    La solution est de comprendre ce que sont les espaces de noms i.e. des noms de la forme machin.truc.bidule qui sont en général abordés lorsqu'on apprend à jouer avec les "class" (i.e. comment faire de la POO avec Python). On peut alors considérer un module (différent du module courant) comme une sorte de "class" et ses variables (globales) comme des attributs particuliers.
    On écrira par exemple import ooo plutôt que from ooo import * et on accède à ses variables via ooo.a (sauf à l'intérieur de ooo lui même).
    Ceci dit, normalement, lorsqu'on débute, on peut réaliser des programmes conséquents sans avoir à le découper en modules. Puis on aborde la programmation graphique qui permet de comprendre l'intérêt de la POO, puis on apprend ce que sont les "class" et les bases de la POO, puis à découper son programme en modules.
    Et si vous voulez aller plus vite que la musique, vous allez penser savoir ce que Python devrait faire avec votre logique personnelle parfois çà marche mais c'est oublier qu'un langage de programmation a été construit avec la logique de ce qui l'ont développé.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  10. #10
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 19
    Par défaut
    Merci beaucoup pour cette réponse, je commence à comprendre des choses.
    Effectivement, dans le cours dans lequel j'apprends à programmer en python (sans plus de succès, visiblement :/), je viens de voir les classes.
    J'avais bien vu qu'elles étaient semblables à un fichier dans lequel on disposerait nos fonctions.

    Mais, vous dites que l'on peut accéder aux variables d'une fonction en faisant [nom_de_la_fonction].[nom_de_la_variable], c'est bien cela?
    Car, si c'est le cas, cela m'aidera grandement.

    Mais encore merci pour ce message.

  11. #11
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Citation Envoyé par Palisthe Voir le message
    Mais, vous dites que l'on peut accéder aux variables d'une fonction en faisant [nom_de_la_fonction].[nom_de_la_variable], c'est bien cela?
    Car, si c'est le cas, cela m'aidera grandement.
    Une fonction n'est pas un module.
    La différence entre variable locales et variable "globales" est côté "durée de vie".
    La variable d'un module existera depuis l'import jusqu'à la fin du programme (sauf destruction explicite).
    Une variable locale n'existera que lorsque la fonction s'exécute (ni avant, ni après).
    De ce fait même si on peut écrire fonction.variable (parce que les fonctions sont aussi des objets) accéder ainsi aux variables locales d'une fonction n'a pas de sens (on va accéder à un attribut... qui est autre chose qu'une variable).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  12. #12
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 19
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    La variable d'un module existera depuis l'import jusqu'à la fin du programme (sauf destruction explicite).
    Une variable locale n'existera que lorsque la fonction s'exécute.
    - W
    Bien, mais alors, pourquoi mes fonctions refusent de trouver la variable que je cherche pas tous les moyens à rendre globale?

  13. #13
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Citation Envoyé par Palisthe Voir le message
    Bien, mais alors, pourquoi mes fonctions refusent de trouver la variable que je cherche pas tous les moyens à rendre globale?
    Parce que vous voulez que fonctions et variables aient des propriétés qu'elles n'ont peut être pas.
    De toutes façons quoi que vous cherchiez à programmer, vous n'avez pas trop le choix sinon le réaliser avec les constructions proposées par le langage. Cela ne veut pas dire qu'on ne peut pas faire ce qu'on veut, juste qu'on ne peut pas le coder n'importe comment.

    C'est la raison pour laquelle, il faut apprendre les bases du langage et de la programmation (et ce sont deux domaines distincts) avant de se lancer dans la construction de codes un peu plus ambitieux/touffus que les exercices proposés dans les tutos.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  14. #14
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Palisthe Voir le message
    Bien, mais alors, pourquoi mes fonctions refusent de trouver la variable que je cherche pas tous les moyens à rendre globale?
    La vraie question à se poser est : pourquoi cherches-tu à faire ça ? Souhaites-tu simplement expérimenter les portées des variables et l'utilisation de global ou est-ce la solution que tu penses être la bonne à ton problème ?

  15. #15
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 19
    Par défaut
    Il y a une autre solution à mon problème, mais cette dernière ne va pas me faciliter la tâche.
    Mais je pense faire comme je le pensais depuis un petit moment, même si ça ne sera pas facile niveau lecture, etc.
    Merci à vous tous pour vos réponses, et à bientôt.

  16. #16
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Citation Envoyé par Palisthe Voir le message
    Il y a une autre solution à mon problème, mais cette dernière ne va pas me faciliter la tâche.
    Mais je pense faire comme je le pensais depuis un petit moment, même si ça ne sera pas facile niveau lecture, etc.
    Il serait plus intéressant d'exposer le problème que vous cherchez à résoudre, histoire qu'on vous raconte comment faire çà avec Python plutôt que d'essayer n'importe quoi en croisant les doigts pour que çà marche.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  17. #17
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 19
    Par défaut
    Malheureusement, si ça ne marchait pas, ça voudrait dire que ce n'est pas python que j'apprends.

    Il s'agit simplement de définir les fonctions non pas depuis un autre fichier mais depuis celui dont je le lance.

    C'est pas non plus sorcier.

    Je vous met au courant et vous remercie, à plus tard!

  18. #18
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Citation Envoyé par Palisthe Voir le message
    Il s'agit simplement de définir les fonctions non pas depuis un autre fichier mais depuis celui dont je le lance.
    Si c'est la solution imaginée pour résoudre un problème, çà ne dit rien sur le problème à résoudre.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  19. #19
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 836
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Palisthe Voir le message
    euh petite erreur dans le script de la fonction, la vraie version est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def oo():
           global a
           print("a vaut ", a,".")
     
    if __name__ == "__main__":
                    oo()
    Voila voila
    Bonjour

    Si c'est juste pour afficher une variable, alors pas besoin de la mettre en global. Parce que dès qu'une fonction demande un accès à une variable qui n'y est pas définie, alors si celle-ci existe dans le source, ladite fonction en reçoit automatiquement une copie
    Exemple
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def oo():
        print("a vaut ", a,".")        # Ici on aura 5 même si "a" n'est pas connue
     
    if __name__ == "__main__":
        a=5
        oo()

    Et comme il ne s'agit que d'une copie, on peut même la modifier dans la fonction sans toucher à son original
    Exemple
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    def oo():
        a=500
        print("a vaut ", a,".")        # Ici on aura 500
     
    if __name__ == "__main__":
        a=5
        oo()
        print("a vaut ", a,".")      # On aura toujours 5

    L'instruction "global" supprime juste cet effet de copie. A ce moment là, la variable citée dans la fonction devient la vraie variable d'origine
    Exemple
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def oo():
        global a
        a=500
        print("a vaut ", a,".")        # Ici on aura 500
     
    if __name__ == "__main__":
        a=5
        oo()
        print("a vaut ", a,".")      # Là on aura aussi 500

    A noter que ce fonctionnement de copie est conservé aussi pour les éléments complexes, comme par exemple les tableaux...
    Exemple
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def oo():
        tab=123
        print(tab)      # Ici on aura 123
    # oo()
     
    if __name__ == "__main__":
        tab=range(10)
        oo()
        print(tab)      # Mais là on aura [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    ... mais pas pour les items qui se trouvent dans le tableau !!!
    Exemple
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def oo():
        tab[0]=123
        print(tab)      # Ici on aura [123, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    # oo()
     
    if __name__ == "__main__":
        tab=range(10)
        oo()
        print(tab)      # Et là, malgré le fait que nulle part on ait déclaré de "global", on aura aussi [123, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    C'est dû au fait que ça coûterait trop cher de dupliquer aussi le contenu (surtout que ce contenu peut lui-même être composé d'élements complexes ce qui obligerait à descendre encore et encore jusqu'au moment où il ne reste que des éléments simples). Donc on ne duplique que l'objet mais pas son contenu (un peu comme en C quand deux adresses pointent vers le même élément)...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  20. #20
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    C'est dû au fait que ça coûterait trop cher de dupliquer aussi le contenu (surtout que ce contenu peut lui-même être composé d'élements complexes ce qui obligerait à descendre encore et encore jusqu'au moment où il ne reste que des éléments simples).
    En fait, il n'y a pas de copie donc çà ne coûte rien.
    Vous faîtes juste la confusion entre objets mutables et assignation.
    Prenez le temps de lire un tuto. écrit pour les programmeurs. Il explique bien ces mécaniques du langage.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/03/2016, 20h22
  2. Réponses: 4
    Dernier message: 05/11/2010, 09h32
  3. Réponses: 6
    Dernier message: 26/05/2010, 22h17
  4. Réponses: 5
    Dernier message: 16/10/2008, 13h36
  5. Réponses: 3
    Dernier message: 02/08/2007, 17h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo