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

  FORUM HardWare.fr
  Programmation
  Python

  [debutant] une classe statique en python

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[debutant] une classe statique en python

n°720739
pi3r
Posté le 10-05-2004 à 15:53:19  profilanswer
 

bjour a tous,
 
je voudrais savoir s'il est possible de bénéficier de l'équivalent des classes/variables statiques en python ?
 
J'ai besoin de pouvoir accéder à la valeur par défaut d'une variable d'une de mes classes sans toutefois instancier celle ci .....
 
J'essaie de faire qqchose de ce genre :
 

Code :
  1. from monModule import MaClasse
  2. class Test:
  3.    ...
  4.    def getValeur(self):
  5.       print MaClasse.MaVariable


 
davance merci!
++
vince

mood
Publicité
Posté le 10-05-2004 à 15:53:19  profilanswer
 

n°720747
pi3r
Posté le 10-05-2004 à 15:57:59  profilanswer
 

Aaargh ça y est jai trouvé ...
 
pour ceux que ça intéresse:
http://www.python.org/2.2/descrint [...] ticmethods

n°720783
pi3r
Posté le 10-05-2004 à 16:08:55  profilanswer
 

bon en fait, mon pb n'est qu'à moitié résolu:  
comment créer une variable statique  :cry:

n°720786
Kristoph
Posté le 10-05-2004 à 16:09:18  profilanswer
 

Note qu'il est conseillé de passer aux nouvelles classes. Il y a des trucs qui ne marchent pas avec les anciennes.
 
Pour cela, il suffit de faire :

Code :
  1. class Test(object):
  2. # au lieux de
  3. class Test:


 
Les variables statiques se font tres simplement elles :

Code :
  1. class Test(object):
  2.     variable_statique = 5


Message édité par Kristoph le 10-05-2004 à 16:10:01
n°720804
pi3r
Posté le 10-05-2004 à 16:16:50  profilanswer
 

bon, je ne m'en sors tjrs pas, voici mon code:
 

Code :
  1. class BlockedMode(object,Request):
  2.   TAGVALUE="blocked_mode"
  3.   def __init__(self):
  4.     Request.__init__(self)
  5.     ...
  6.   def getTagValue():
  7.     return TAGVALUE
  8.   getTagValue=staticmethod(getTagValue)


 
>>> from BlockedModeRequest import BlockedMode
>>> BlockedMode.getTagValue()
--> NameError: global name 'TAGVALUE' is not defined

n°720856
Kristoph
Posté le 10-05-2004 à 16:28:50  profilanswer
 

pi3r a écrit :

bon, je ne m'en sors tjrs pas


 
C'est normal car pour acceder à TAGVALUE, il faut écrire BlockedMode.TAGVALUE
 

Code :
  1. class BlockedMode(object,Request):
  2.   TAGVALUE="blocked_mode"
  3.   def __init__(self):
  4.     Request.__init__(self)
  5.     ...
  6.   def getTagValue():
  7.     return BlockedMode.TAGVALUE
  8.   getTagValue=staticmethod(getTagValue)


Message édité par Kristoph le 10-05-2004 à 16:29:00
n°720867
chaica
Posté le 10-05-2004 à 16:31:57  profilanswer
 

Kristoph a écrit :

Note qu'il est conseillé de passer aux nouvelles classes. Il y a des trucs qui ne marchent pas avec les anciennes.
 
Pour cela, il suffit de faire :

Code :
  1. class Test(object):
  2. # au lieux de
  3. class Test:


 
Les variables statiques se font tres simplement elles :

Code :
  1. class Test(object):
  2.     variable_statique = 5


 


c'ets quoi ces nouvelles classeS?

n°720871
pi3r
Posté le 10-05-2004 à 16:33:12  profilanswer
 

super, ça marche !
merci kris  :jap:

n°720888
Kristoph
Posté le 10-05-2004 à 16:40:14  profilanswer
 

chaica a écrit :

c'ets quoi ces nouvelles classeS?


 
Ca fait partie de l'unification des types. Cela inclue aussi la gestion des setter et des getter et une correction dans le comportement de la resolution des noms dans l'heritage multiple.
 
Il parrait aussi que les perfs sont un peu meilleures :)
 
Enfin, tout est expliqué ici : http://www.python.org/2.2/descrintro.html


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

  [debutant] une classe statique en python

 

Sujets relatifs
[python] wxpython erreure[Résolu][Débutant][cppunit] linkage impossible d'exemples simples
[Debutant]Probleme pour debugger en JAVAdébutant SQL ???
Python sous windows : meilleur moyen pour connecter un lecteur reseau?cherche lien introduction a python
[python] wip synchroniser des répertoires (newb)[JAVA ]utilisation de la classe Vector
PHP ou Python?Python, Pmw et Mysql
Plus de sujets relatifs à : [debutant] une classe statique en python


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