Python: variables estàtiques o de classe

De Cacauet Wiki
La revisió el 15:06, 16 des 2013 per Enric (discussió | contribucions) (Es crea la pàgina amb «Una variables de classe o "estàtica" és una variable comuna per totes les instàncies d'una classe. Els atributs o variables son: * D'instància: valor particular per …».)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Salta a la navegació Salta a la cerca

Una variables de classe o "estàtica" és una variable comuna per totes les instàncies d'una classe.

Els atributs o variables son:

  • D'instància: valor particular per una instància (els habituals).
  • De classe: atribut compartit per totes les instàncies.

Referències:

Aplicacions típiques:

  • Controlar el nombre d'instàncies creades
  • Tenir una instància única d'un objecte (singleton), p.ex. QApplication
  • ...
Accedirem a les variables d'instància a través de <classe>.__class__.<atribut>


Comptar el nombre d'instàncies creades

Per exemple, si tenim una interfície gràfica i volem saber quants botons hem creat:

class Boto:
    total = 0
    def __init__(self):
        self.__class__.total += 1

Aquest atribut serà comú per totes les instàncies:

>>> b1 = Boto()
>>> b1.total
1
>>> b2 = Boto()
>>> print b1.total,b2.total
(2, 2)