Menu
Coddy logo textTech

Decorador de métodos estáticos

Parte de la sección Programación orientada a objetos del Journey de Python de Coddy. Lección 11 de 64.

El decorador @staticmethod crea métodos que no necesitan self ni la clase. Funcionan como funciones normales, pero pertenecen a la clase.

Aquí tienes un ejemplo de una clase con métodos estáticos:

class MathHelper:
    @staticmethod
    def add(a, b):
        return a + b
    
    @staticmethod
    def is_even(number):
        return number % 2 == 0

Llama a los métodos estáticos usando el nombre de la clase:

result = MathHelper.add(5, 3)
print(result)

check = MathHelper.is_even(10)
print(check)

También puedes llamarlos desde un objeto:

helper = MathHelper()
result2 = helper.add(2, 4)
print(result2)

Salida:

8
True
6

Los métodos estáticos no acceden a los datos de la instancia ni de la clase:

class Calculator:
    brand = "Python Calc"
    
    def __init__(self, owner):
        self.owner = owner
    
    @staticmethod
    def multiply(x, y):
        # Cannot access self.owner or Calculator.brand
        return x * y

Punto clave: Usa @staticmethod cuando necesites una función relacionada con la clase, pero que no necesite acceder a la instancia (self) ni a los datos de la clase. No se necesita el parámetro self.

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Programación orientada a objetos

Practica por tu cuenta: Compilador de Python online