Accéder à une variable du programme principal depuis une classe

Fermé
tuxpy - Modifié par crapoulou le 27/09/2016 à 20:27
 dibot - 28 sept. 2016 à 07:42
Bonjour,
c'est un problème assez courant mais dont il demeure difficile de trouver la solution:
j'ai une classe héritée de Thread (module threading) qui est créée depuis le programme principal.
Depuis cette classe il faut pouvoir accéder à une variable déclarée aussi dans le programme principal.
x = 3
class Obj(Thread):
 def __init__(self):
  Thread.__init__(self)
 def run(self):
  print(x)

obj = Obj()
obj.start()
obj.join()

Ce code fonctionne dans la console mais un code équivalent, pas dans mon programme ("UnboundLocalError: local variable 'i' referenced before assignment")

Pourriez-vous m'aider?
Merci.
A voir également:

1 réponse

Que ta classe hérite de thread ou n'importe quoi d'autre ne change rien, ce serait une simple fonction, le résultat serait identique.

Ce qu'il faut déterminer, c'est où réellement ta variable est déclarée ? Même module ? Et ce qu'elle représente, contient, valeur partagée entre objets, modules ?
0