Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1611 connectés 

  FORUM HardWare.fr
  Programmation

  [python]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[python]

n°55874
bignose
Posté le 28-08-2001 à 17:04:12  profilanswer
 

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]

mood
Publicité
Posté le 28-08-2001 à 17:04:12  profilanswer
 

n°55946
bignose
Posté le 29-08-2001 à 00:07:57  profilanswer
 

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 !!

n°56000
zeltron
Posté le 29-08-2001 à 11:11:03  profilanswer
 

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

n°56433
bignose
Posté le 30-08-2001 à 23:45:10  profilanswer
 

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]

n°56511
Aurelienaz​erty
Posté le 31-08-2001 à 11:21:37  profilanswer
 

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/

n°56611
bignose
Posté le 31-08-2001 à 16:32:05  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [python]

 

Sujets relatifs
convertion de perl en pythonpython C,C++ et l'accès à des bases de données!De l'aide SVP!!!!
vantez moi un peu les mérites de PythonBesoin d'aide pour l'interface graphique TKINTER du langage python
Plus de sujets relatifs à : [python]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR