Decorador de métodos estáticos
Parte de la sección Object Oriented Programming del Journey de Python de Coddy — lección 11 de 64.
El decorador @staticmethod crea métodos que no necesitan self o la clase. Funcionan como funciones regulares pero pertenecen a la clase.
Aquí hay 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 == 0Llama 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
6Los métodos estáticos no acceden a los datos de instancia o de clase:
class Calculator:
brand = "Python Calc"
def __init__(self, owner):
self.owner = owner
@staticmethod
def multiply(x, y):
# No se puede acceder a self.owner o Calculator.brand
return x * yPunto clave: Utiliza @staticmethod cuando necesites una función que esté relacionada con la clase pero que no necesite acceso a la instancia (self) o a los datos de la clase. No se requiere el parámetro self.
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Object Oriented Programming
1Fundamentos de la POO
Archivos externosIntroducción a la POOClases vs ObjetosEl parámetro selfMétodosAtributosMétodo constructor (__init__)Resumen - Calculadora simple4Herencia
Herencia básicaLa función super()Sobrescritura de métodosHerencia múltipleOrden de resolución de métodosResumen - Jerarquía de empleados7Métodos especiales
Introducción a los métodos mágicosSobrecarga de operadoresMétodos mágicos de contenedoresRepaso - Lista personalizada10Patrones de diseño Parte 1
Introducción a los patrones de diseñoPatrón SingletonPatrón FactoryPatrón ObserverPatrón Strategy2Decoradores
Introducción a los decoradoresDecorador propertyDecorador de métodos estáticosDecorador de métodos de clase5Polimorfismo
Sobreescritura de métodos revisitadaDuck TypingClases y métodos abstractosDiseño de interfacesResumen - Calculadora de figuras8Conceptos avanzados de POO
Composición vs. HerenciaMixinsMétodos estáticos y de claseDecoradores de claseGestores de contexto11Patrones de diseño, parte 2
Patrón CommandPatrón AdapterPatrón DecoratorPatrón Template MethodPatrón StatePatrón Composite3Propiedades de clase
Variables de instancia vs de claseDecoradores de propiedadesAtributos privadosResumen - Gestor de cuentas bancarias