Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Diferença entre métodos estáticos no Python e Enum (Java)

Qual a diferença entre métodos estáticos no Python e Enum (existente no Java)?

1 resposta
solução!

Olá Marcelo, tudo bem com você?

Peço desculpas pela demora em lhe responder.

O método estático é um método que não faz referência a um objeto instanciado, um método onde não teremos o uso do self, será um método estático (sem atividade) direta no objeto e seu comportamento não possui dependência do objeto instanciado. Será feito o uso do decorador @staticmethod acima do método para sinalizar que ele é estático

Abaixo um exemplo de método estático.

    @staticmethod
    def codigos_bancos():
        return {'BB': '001', 'Caixa': '104', 'Bradesco': '237'}

No código acima temos o método codigos_bancos() que retorna os códigos cadastrados, seu acesso pode ser realizado diretamente pela classe.

Já o enum do Java, é um tipo de dado que poderá armazenar um conjunto de valores, esses valores constantes, imutáveis, sendo assim um tipo especial de classe do Java. Como apresentado acima, temos que métodos estáticos e enum do Java possuem propósitos e objetivos diferentes.

Mas no Python podemos fazer o uso de algo similar ao enum do Java através do uso da biblioteca enum, uma biblioteca interna do Python, que não necessita de instalação.

Exemplo de código com a biblioteca Enum

from enum import Enum

class Animal(Enum):
    CACHORRO = 1
    GATO = 2

print(Animal.CACHORRO)
print(Animal.CACHORRO.value)
print(Animal.CACHORRO.name)

Resultado

Animal.CACHORRO
1
CACHORRO

Para saber um pouco mais sobre enum no Python, recomendo a leitura do seguinte artigo onde explica com detalhes sobre o uso.

A documentação acima está em inglês, caso tenha dificuldade com o idioma, recomendo o uso do tradutor do navegador.

Deixo também o link para a documentação da biblioteca, para que possa conhecer outros recursos presentes na biblioteca enum.

Fico à disposição em caso de dúvidas.

Abraços e bons estudos

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!