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 :

Problème avec les variables globales


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Problème avec les variables globales
    Bonjour,

    Je fais face à une situation que j'aurais naturellement résolue en utilisant des pointeurs en C, mais ici je n'y arrive pas:

    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
    16
    17
    18
    19
    20
    def boucleFreq():
        global MIDINOTE
        global FREQFLAG
        global freqMidiRound
        global freqCompteur
     
        new_freqMidi = freqFondamentaleMidi.get()
        new_freqMidiRound = round(new_freqMidi)
     
        if (new_freqMidiRound==freqMidiRound) | (abs(new_freqMidi-MIDINOTE)<=0.7):
            freqCompteur += 1
        else:
            freqCompteur = 0
     
        if freqCompteur == 2:
            MIDINOTE=freqFondamentale.get()
            #MIDINOTE=round(new_freqMidiRound)
            FREQFLAG=1
     
        freqMidiRound = new_freqMidiRound
    L'idée est que cette fonction est appelée en boucle (toutes les 0.01s) et qu'elle doit mettre à jour les variables globales MIDINOTE et FREQFLAG. Cependant mon programme comporte plusieurs fonctions de ce genre et il commence à être difficile de tout rassembler en un seul fichier source. Mais quand je déplace cette fonction dans un autre .py et que je l'importe au début du programme, les variables globales ne son plus reconnues. J'ai pensé à passer ces variables en paramètre mais il faudrait donc envoyer l'adresse de ces variables non ? Quelques test basiques m'ont montré que cela ne marchait pas en python...

    Merci d'avance !

  2. #2
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Par défaut
    Bonjour,

    Pour utiliser la variable dans ton deuxième script
    il faut faire un import nom_du_fichier

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    import fichier
    print fichier.variable

  3. #3
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Il faudra déjà commencer à travailler sans le mot clé global qui n'est pas conseillé.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Même en important le programme principal depuis mon fichier de fonctions, les fonctions de sont pas reconnues...

    @fred1599: je n'aime pas cette façon de faire non plus mais je n'ai pas trouvé d'autre moyen !

  5. #5
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Citation Envoyé par mokimok8 Voir le message
    @fred1599: je n'aime pas cette façon de faire non plus mais je n'ai pas trouvé d'autre moyen !
    Il y en a beaucoup d'autres, toutes meilleures que celle que vous proposez, mais faut apprendre python avec un bon tutoriel...

  6. #6
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Par défaut
    Quelle est l'erreur retournée?
    Le problème vient d'une part que vous n'initialisez pas les variables, il manque du code pour savoir davantage ce qu'il en est

Discussions similaires

  1. problème avec les variables globales
    Par kochfet dans le forum Langage
    Réponses: 11
    Dernier message: 14/01/2014, 11h50
  2. Problème avec les variables en PHP
    Par King_T dans le forum Langage
    Réponses: 3
    Dernier message: 06/05/2006, 23h46
  3. Problèmes avec les variables et les unités
    Par christoufe dans le forum EDI
    Réponses: 2
    Dernier message: 22/01/2006, 16h22
  4. Problèmes avec les variables final
    Par casolaro dans le forum Langage
    Réponses: 7
    Dernier message: 09/12/2004, 14h29
  5. Réponses: 6
    Dernier message: 28/05/2004, 09h39

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