Forum Programmation.python variable... deuxieme essai

Posté par  .
Étiquettes : aucune
0
30
août
2006
désolé, je vais essayer d'être plus clair...
au lieu d'avoir

def toto():
x,y=pygame.mouse.get_pos()
....
def titi():
x,y=pygame.mouse.get_pos()
....

j'aimerais
def toto():
<une commande avec x>
def titi():
<une autre commande avec x>
def main():
x,y=pygame.mouse.get_pos()

comment dire d'aller chercher la valeur de x dans la fonction main() ?
merci
j'espere que c'est mieux..
  • # Global

    Posté par  . Évalué à 2.

    Si j'ai bien compris ton problème, c'est que tu veux accéder à la valeur de la variable x depuis plusieurs fonctions. Pour ça il faut que tu déclares ta variable en global, dehors des fonctions et que t'y fasses références à l'intérieur.

    J'suis sans doute pas clair, mais je ne peux que te conseiller de regarder à nouveau ton cours de prog.

    sinon pour un début de réponse, pour faire ce que tu veux se serait un truc du genre:


    x = 0
    y = 0

    def toto:
    global x, y
    # ce que tu veux avec x et y

    def main:
    global x, y
    x, y = pygame.mouse.get_pos()


    après il y a sans doute plus propre

    ps: désolé j'sais pas comment garder l'intentation
    • [^] # Re: Global

      Posté par  . Évalué à 2.

      Je suis pas trop fan des variables globales mais bon ...
      sinon, on peut aussi passer x en paramètre de titi et de toto
      ou construire une classe bien choisie pour qu'un membre x soit facilement accessible par les méthodes de la classe (mais là, je manque un peu de contexte pour élaborer)

      une petite remarque à Treepwood sur la forme : tu aurais pu continuer sur le fil http://linuxfr.org/forums/29/18466.html , on t'aurais répondu aussi :-)
      • [^] # grmph

        Posté par  . Évalué à 1.

        s/t'aurais/t'aurait/
        • [^] # Re: grmph

          Posté par  . Évalué à 0.

          merci à vous
          même si finalement la solution du sieur api est au moins aussi lourde que ce que j'avais.... question économie et clarté...

          sinon je vois pas vraiment comment passer x en parametre de la fonction pour arriver à je que je veux...
  • # Gurbs

    Posté par  . Évalué à 2.

    En effet, il vaut toujours mieux passer des paramètres au fonctions plutôt que d'utiliser les variables globales. On s'y retrouve plus facilement et ça occuppe moins de mémoire.

    Et puis la solution de cree une classe me parait aussi assez sympathique.

    Treepwood, essaie dans la mesure du possible de lire quelques tutos avant de te mettre à poster sur les forums... je te rebalance le lien avec un petit cours en python bien foutu : http://python.developpez.com/cours/TutoSwinnen/
    Je te conseille de télécharger le .pdf ... et de le regarder à la page 65 partie 7.1.2 : Fonction avec paramètre
    • [^] # Re: Gurbs

      Posté par  . Évalué à 0.

      mmm...
      c'était simple en fait...
      désolé pour tout ce 'bruit'
      pis merci

      (j'avais déjà dl ce cours de python mais peu regardé et oublié du coup qu'il était là , tout pret, tout près )

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.