Un truc bien en Python

Dans module.py, je définis une classe et son singleton :

   class Counter:
       def init(self):
           self.i = 0
       def incr(self):
           self.i += 1

   counter = Counter()

Dans ext1.py j'importe le singleton et je le modifie.

   from module import counter
   import ext2

   counter.incr()
   counter.incr()

   print counter.i

   ext2.printcounter()

Dans ext2.py quand j'importe, j'accède au même singleton !

   from module import counter

   def printcounter():
       print counter.i

Ça vous paraît évident ? Je pensais que l'import dans ext2.py m'aurait recrée une instance différente.

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

La discussion continue ailleurs

URL de rétrolien : https://cudjoe.org/dotclear/trackback/360

Fil des commentaires de ce billet