Classe estática em Python

Hemank Mehtani 30 janeiro 2023
  1. Use o decorador @staticmethod para criar uma classe estática em Python
  2. Use o decorador @classmethod para criar uma classe estática em Python
  3. Use um arquivo de módulo para criar uma classe estática em Python
Classe estática em Python

Uma classe estática é um recurso útil na programação. Uma classe estática não pode ser herdada e não pode ser instanciada. Não existe uma maneira direta de tornar uma classe estática. Em Python, podemos implementar uma classe estática tornando seus métodos e variáveis ​​estáticos.

Neste artigo, implementaremos esses métodos.

Use o decorador @staticmethod para criar uma classe estática em Python

Para implementar uma classe estática, podemos tornar seus métodos e variáveis ​​estáticos. Para isso, podemos usar o decorador @staticmethod para criar métodos em uma classe estática. Um decorador é uma função especial especificada antes de uma função e usa toda a função como parâmetro.

Por exemplo,

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


abc.static_method()

Produção:

Hi,this tutorial is about static class in python

Observe que esse método só funciona em versões do Python superiores a 2.6.

Use o decorador @classmethod para criar uma classe estática em Python

O @classmethod pode tornar um método estático para a classe e não seu objeto. Tem várias vantagens sobre o decorador @staticmethod. Também funcionará com subclasses e pode modificar o estado da classe.

No entanto, requer um argumento obrigatório a ser incluído no método denominado cls.

Veja o seguinte código.

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


abc.static_method()

Produção:

Hi,this tutorial is about static class in python

Use um arquivo de módulo para criar uma classe estática em Python

Em Python, provavelmente a melhor maneira de implementar uma classe estática é criando um módulo. Podemos importar um módulo, e suas funções podem ser acessadas usando o nome do módulo. Não requer que nenhum objeto seja instanciado e não pode ser herdado.

Veja o seguinte exemplo.

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

O código acima pode ser uma função simples em um script Python que pode ser importado como um módulo.

Por exemplo, se o nome do script Python acima for abc.py, podemos fazer algo como mostrado abaixo.

import abc

abc.static_method()

Produção:

Hi,this tutorial is about static class in python

Artigo relacionado - Python Class