Clase estática en Python

Hemank Mehtani 30 enero 2023
  1. Utilice el decorador @staticmethod para crear una clase estática en Python
  2. Utilice el decorador @classmethod para crear una clase estática en Python
  3. Use un archivo de módulo para crear una clase estática en Python
Clase estática en Python

Una clase estática es una característica útil en la programación. Una clase estática no se puede heredar y no se puede crear una instancia. No hay una forma directa de convertir una clase en estática. En Python, podemos implementar una clase estática haciendo que sus métodos y variables sean estáticos.

En este artículo, implementaremos dichos métodos.

Utilice el decorador @staticmethod para crear una clase estática en Python

Para implementar una clase estática, podemos hacer que sus métodos y variables sean estáticos. Para ello, podemos utilizar el decorador @staticmethod para crear métodos en una clase estática. Un decorador es una función especial especificada antes de una función y toma toda la función como parámetro.

Por ejemplo,

class abc(object):
    @staticmethod
    def static_method():
        print("Hi,this tutorial is about static class in python")


abc.static_method()

Producción :

Hi,this tutorial is about static class in python

Tenga en cuenta que este método solo funciona en versiones de Python superiores a 2.6.

Utilice el decorador @classmethod para crear una clase estática en Python

El @classmethod puede convertir un método en estático para la clase y no para su objeto. Tiene varias ventajas sobre el decorador @staticmethod. También funcionará con subclases y puede modificar el estado de la clase.

Sin embargo, requiere que se incluya un argumento obligatorio en el método llamado cls.

Consulte el siguiente código.

class abc(object):
    @classmethod
    def static_method(cls):
        print("Hi,this tutorial is about static class in python")


abc.static_method()

Producción :

Hi,this tutorial is about static class in python

Use un archivo de módulo para crear una clase estática en Python

En Python, probablemente la mejor manera de implementar una clase estática es creando un módulo. Podemos importar un módulo, y se puede acceder a sus funciones usando el nombre del módulo. No requiere la creación de instancias de ningún objeto y no se puede heredar.

Vea el siguiente ejemplo.

def static_method():
    print("Hi this is the content of the module file")

El código anterior puede ser una función simple en un script de Python que se puede importar como un módulo.

Por ejemplo, si el nombre de la secuencia de comandos de Python anterior es abc.py, podemos hacer algo como se muestra a continuación.

import abc

abc.static_method()

Producción :

Hi,this tutorial is about static class in python

Artículo relacionado - Python Class