Sobes.tech
Junior

Qu'est-ce qu'une variable statique en Python?

sobes.tech IA

Réponse de l'IA

En Python, une variable statique est une variable appartenant à la classe, et non à une instance spécifique de la classe. Sa valeur est partagée entre toutes les instances de la classe.

Caractéristiques principales :

  • Portée : Au sein de la classe.
  • Durée de vie : Elle existe pendant toute la durée de l'exécution du programme.
  • Accès : Peut être accessible à la fois via le nom de la classe et via une instance de la classe (bien que l'accès via le nom de la classe soit préféré pour indiquer la nature statique).

Exemple d'utilisation :

class MyClass:
    # Variable statique
    static_variable = 10

    def __init__(self, instance_variable):
        # Variable d'instance
        self.instance_variable = instance_variable

# Accès à la variable statique via le nom de la classe
print(MyClass.static_variable)

# Création d'instances
obj1 = MyClass(20)
obj2 = MyClass(30)

# Accès à la variable statique via les instances
print(obj1.static_variable)
print(obj2.static_variable)

# Modification de la variable statique via le nom de la classe
MyClass.static_variable = 15

# La valeur a changé pour toutes les instances
print(obj1.static_variable)
print(obj2.static_variable)

Dans cet exemple, static_variable est une variable statique. Elle existe en une seule instance pour toute la classe MyClass et sa valeur est partagée entre les objets obj1 et obj2. La modification via le nom de la classe MyClass.static_variable = 15 se reflète sur toutes les instances.