[python]

[python] - Programmation

Marsh Posté le 28-08-2001 à 17:04:12    

Voici mon problème :
 
global  vrb
 
vrb = 1
 
def  test() :
    print vrb
 
#    vrb = 0
 
 
test()
 
 
 
Ce qui précède fonctionne parfaitement. Une fois exécuté, le script m'affiche la valeur de la variable vrb (en l'occurence, 1).
 
Par contre, si la ligne "#     vrb = 0" n'est plus en commentaire, j'obtiens le message d'erreur suivant :
 
Traceback (most recent call last):
  File "essais.py", line 17, in ?
    test()
  File "essais.py", line 9, in test
    print vrb
UnboundLocalError: local variable 'vrb' referenced before assignment
 
 
Bizarre !!!
 
La commande "global" ne semble pas avoir d'effet. Dès j'assigne une valeur à vrb, python considère qu'elle est locale, du coup le print qui précède l'assignation ne marche pas car la variable n'a pas encore été initialisée.
 
Evidemment, on peut contourner le problème, mais c'est pas l'idéal.
 
HELP !!!!!!!!   :cry:

 

[edtdd]--Message édité par Bignose--[/edtdd]

Reply

Marsh Posté le 28-08-2001 à 17:04:12   

Reply

Marsh Posté le 29-08-2001 à 00:07:57    

Eh bien ?
 
Personne ne connaît python ?   :??:  
 
Qu'est-ce que je vais devenir ??  :cry:  
 
Allez, il doit bien y avoir quelqu'un qui peut m'aider !!!
 
Please !!

Reply

Marsh Posté le 29-08-2001 à 11:11:03    

Tu n'as pas du bien saisir l'utilisation de global.
Pour Python chaque variable utilisee dans une fonction est consideree comme une variable locale a moins qu'elle ait ete declaree comme global dans le CORPS de la fonction. La syntaxe suivante est correcte.
 
vrb = 1  
def  test() :  
   global  vrb  
   print vrb  
   vrb = 0

Reply

Marsh Posté le 30-08-2001 à 23:45:10    

Désolé pour ma réponse tardive, j'ai eu quelques problèmes  :(  
 
Je vais essayer ça. J'avais regardé dans la doc de python ce qu'elle disait sur le global, mais les explications n'étaient pas très claires. En tout cas, ça va m'oter une énorme épine du pied  :)  
 
Je trouve quand même curieux que tant qu'on n'assigne rien à la variable, il la considère bien comme globale. Bizarre ...
 
Merci pour ton aide.

 

[edtdd]--Message édité par bignose--[/edtdd]

Reply

Marsh Posté le 31-08-2001 à 11:21:37    

ha des utilisateur python... Bon j'aurais voulut savoir si l'un d'entre vous utilisait la librairie Fox pour python (FxPy en l'occurence) parce que j'ai 2/3 problèmes...
http://fxpy.sourceforge.net/

Reply

Marsh Posté le 31-08-2001 à 16:32:05    

Non, je ne connais pas FOX.
 
Personnellement, je privilégie l'affiche dans un browser pour l'instant.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed