Espacio publicitario (banner)
AD

¿Ya dominas lo básico? Un curso estructurado de Python es la vía rápida para dar el salto.

Ver cursos de Python en Udemy

Enlace de afiliado. No te cuesta nada extra.

🐍Lecciones de Python
Lección 56 / 69

Variables de clase y fundamentos de @staticmethod

En esta lección verás las variables de clase y @staticmethod, para trabajar con datos compartidos por toda la clase en lugar de ligados a una sola instancia. Está pensada para quien busca «staticmethod en Python».

Una variable escrita dentro de una clase pero fuera de __init__ se llama «variable de clase» y la comparten todas las instancias. Un método marcado con @staticmethod se puede llamar sin crear ninguna instancia. La diferencia clave con un método normal es que se invoca directamente como NombreDeClase.nombre_del_metodo(), sin necesidad de instanciar nada.

El código de ejemplo define un contador compartido, count = 0, en una clase Counter, junto con una operación compartida, increment(), marcada con @staticmethod. Ver cómo Counter.count aumenta cada vez que llamas a Counter.increment() demuestra que la propia clase puede mantener estado, sin instancias.

Un error habitual al empezar es confundir un método normal con un staticmethod. Un método normal requiere self como primer parámetro; un staticmethod, no. Existe además un decorador parecido, @classmethod, para cuando quieres recibir la propia clase como argumento.

En cuanto sabes distinguir entre valores por instancia y valores compartidos por toda la clase, puedes abordar diseños de clase más elaborados. Es una mentalidad que también se aprovecha en el trabajo real: gestionar valores de configuración, contar instancias, etc.

Python
SALIDA

💡 El motor de Python puede tardar unos segundos en cargarse la primera vez que ejecutas código.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)