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.