[python] - Programmation
Marsh Posté le 29-08-2001 à 00:07:57
Eh bien ?
Personne ne connaît python ?
Qu'est-ce que je vais devenir ??
Allez, il doit bien y avoir quelqu'un qui peut m'aider !!!
Please !!
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
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]
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/
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.
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 !!!!!!!!
[edtdd]--Message édité par Bignose--[/edtdd]