| title | Función integrada staticmethod() de Python - Hoja de trucos de Python |
|---|---|
| description | Transforma un método en un método estático. |
El decorador @staticmethod transforma un método para que pertenezca a una clase pero no reciba la clase o la instancia como primer argumento. Esto es útil para crear funciones de utilidad que tienen una conexión lógica con una clase pero no dependen del estado de la clase o la instancia.
Un método estático se puede llamar tanto en la clase misma como en una instancia.
Así es como se define y se llama a un método estático:
class MathHelper:
@staticmethod
def add(x, y):
return x + y
# Llamar en la clase
result1 = MathHelper.add(5, 3)
print(result1)
# Llamar en una instancia
helper = MathHelper()
result2 = helper.add(10, 20)
print(result2)8
30
Un método estático no tiene acceso a la clase (cls) ni a la instancia (self). Es esencialmente una función normal con espacio de nombres dentro de la clase.
- Cheatsheet: Conceptos básicos de OOP
- Cheatsheet: Decoradores
- Cheatsheet: Funciones
- classmethod()
- property()