Junior
¿Qué es una variable estática en Python?
sobes.tech AI
Respuesta de la IA
En Python, una variable estática es una variable que pertenece a la clase, no a una instancia específica de la clase. Su valor se comparte entre todas las instancias de la clase.
Características principales:
- Ámbito: Dentro de la clase.
- Tiempo de vida: Existe durante toda la ejecución del programa.
- Acceso: Puede accederse tanto mediante el nombre de la clase como mediante una instancia de la clase (aunque el acceso mediante el nombre de la clase es preferible para indicar la naturaleza estática).
Ejemplo de uso:
class MyClass:
# Variable estática
static_variable = 10
def __init__(self, instance_variable):
# Variable de instancia
self.instance_variable = instance_variable
# Acceso a la variable estática mediante el nombre de la clase
print(MyClass.static_variable)
# Creación de instancias
obj1 = MyClass(20)
obj2 = MyClass(30)
# Acceso a la variable estática mediante las instancias
print(obj1.static_variable)
print(obj2.static_variable)
# Modificación de la variable estática mediante el nombre de la clase
MyClass.static_variable = 15
# El valor ha cambiado para todas las instancias
print(obj1.static_variable)
print(obj2.static_variable)
En este ejemplo, static_variable es una variable estática. Existe en una única instancia para toda la clase MyClass y su valor se comparte entre los objetos obj1 y obj2. La modificación mediante el nombre de la clase MyClass.static_variable = 15 se refleja en todas las instancias.
Es importante distinguir las variables estáticas de clase de las variables de instancia (self.instance_variable), que son únicas para cada objeto (instancia) de la clase.