Método estático de Python

TJ Lerias 10 octubre 2023
  1. Método estático de Python
  2. Crear y usar un método estático de Python
Método estático de Python

Este artículo demuestra cómo puede crear y usar métodos estáticos en Python.

Método estático de Python

Un método estático pertenece a una clase; aún así, no está vinculado al objeto de esa clase. Por lo tanto, se puede llamar sin crear una instancia de la clase en la que reside. Dado que los métodos estáticos no están vinculados a un objeto, no conoce las propiedades de una clase, por lo que no puede acceder ni modificar las propiedades de la clase.

Crear y usar un método estático de Python

Primero, creemos un método de instancia para que podamos diferenciarlo de un método estático. Digamos que tenemos una clase Coffee con un método llamado is_hot que acepta un número entero como parámetro. Devuelve True si el número entero dado es mayor que 50 y False si es menor que 50.

class Coffee:
    def is_hot(self, temperature):
        return temperature > 50


coffee = Coffee()
print(coffee.is_hot(100))

Producción :

True

En el ejemplo anterior, se creó una instancia de coffee, que es una instancia de la clase Coffee, para poder llamar al método is_hot.

Ahora, convierta is_hot en un método estático utilizando el decorador @staticmethod. Es un decorador integrado que se utiliza para definir un método como método estático.

class Coffee:
    @staticmethod
    def is_hot(temperature):
        return temperature > 50


print(Coffee.is_hot(100))

Producción :

True

A diferencia del método de instancia que creamos a partir del ejemplo anterior, no es necesario pasar self como parámetro para los métodos estáticos, y no es necesario crear una instancia de la clase para poder usar un método estático. . Simplemente puede utilizar el proceso directamente.

Alternativamente, la función staticmethod() se puede utilizar para crear un método estático. Esta es una función incorporada que toma una función como parámetro y la devuelve como método estático.

class Coffee:
    def is_hot(temperature):
        return temperature > 50


Coffee.is_hot = staticmethod(Coffee.is_hot)
print(Coffee.is_hot(100))

Producción :

True

Los métodos estáticos son útiles cuando se crean métodos de utilidad que realizan una tarea de forma aislada, ya que no necesitan acceder o modificar las propiedades de una clase; solo funciona con los datos pasados ​​en los argumentos.

En resumen, podemos crear un método estático usando el decorador @staticmethod o la función @staticmethod. No es necesario tener una instancia de una clase para llamar a un método estático; simplemente podemos llamarlo directamente.

Artículo relacionado - Python Class