Sobes.tech
Junior

O que é uma variável estática em Python?

sobes.tech IA

Resposta da IA

Em Python, uma variável estática é uma variável que pertence à classe, e não a uma instância específica da classe. O seu valor é partilhado entre todas as instâncias da classe.

Características principais:

  • Âmbito: Dentro da classe.
  • Tempo de vida: Existe durante toda a execução do programa.
  • Acesso: Pode ser acedida tanto através do nome da classe como através de uma instância da classe (embora o acesso através do nome da classe seja preferível para indicar a natureza estática).

Exemplo de uso:

class MyClass:
    # Variável estática
    static_variable = 10

    def __init__(self, instance_variable):
        # Variável de instância
        self.instance_variable = instance_variable

# Acesso à variável estática através do nome da classe
print(MyClass.static_variable)

# Criação de instâncias
obj1 = MyClass(20)
obj2 = MyClass(30)

# Acesso à variável estática através das instâncias
print(obj1.static_variable)
print(obj2.static_variable)

# Alteração da variável estática através do nome da classe
MyClass.static_variable = 15

# O valor mudou para todas as instâncias
print(obj1.static_variable)
print(obj2.static_variable)

Neste exemplo, static_variable é uma variável estática. Ela existe numa única instância para toda a classe MyClass e o seu valor é partilhado entre os objetos obj1 e obj2. A alteração através do nome da classe MyClass.static_variable = 15 reflete-se em todas as instâncias.