🎯 Enumerações em Python

Em poucas palavras

Em Python, enumerações (enums) são uma forma de criar um conjunto de nomes simbólicos (membros) vinculados a valores únicos e constantes. Elas fornecem uma maneira clara e legível de representar um conjunto fixo de opções ou estados. Python oferece duas formas principais de trabalhar com enumerações: a função enumerate() e a classe Enum do módulo enum.


📝 Notas e Desenvolvimento

1. Função enumerate()

A função enumerate() é usada para iterar sobre uma sequência (como uma lista, tupla ou string) e obter tanto o índice quanto o valor de cada elemento. Ela não cria uma enumeração formal, mas é útil para numerar os elementos de uma sequência existente.

Exemplo:

names = ["Alice", "Bob", "Charlie", "Debbie"]
 
for i, name in enumerate(names):
    print(f"Name {i} is {name}")

Saída:

Name 0 is Alice
Name 1 is Bob
Name 2 is Charlie
Name 3 is Debbie

Explicação:

  • enumerate(names): Retorna um iterador que produz pares (índice, valor) para cada elemento da lista names.
  • for i, name in enumerate(names): Desempacota cada par em i (o índice) e name (o valor).

2. Classe Enum (do módulo enum)

A classe Enum do módulo enum permite criar enumerações formais, onde cada membro tem um nome e um valor associado. Isso oferece mais estrutura e segurança em comparação com o uso de constantes soltas.

Exemplo:

from enum import Enum
 
---
 
# 🔗 Conexões e Contexto
 
- **Atlas:** [[MdC - Programação]]
- **Notas Relacionadas:** [[ ]]
 
---
 
# 📚 Referências e fontes
 
## Links Externos
 
- [Youtube](url)
- [Wikipedia](url)
 
## Citações Diretas
 
## 📂 Outros Conteúdos Preservados
 
### Enumerações em [[Linguagem de programação Python|Python]]
 
> [!NOTE] Enumerações em [[Linguagem de programação Python|Python]]
> 
> Em [[Linguagem de programação Python|Python]], enumerações (enums) são uma forma de criar um conjunto de nomes simbólicos (membros) vinculados a valores únicos e constantes. Elas fornecem uma maneira clara e legível de representar um conjunto fixo de opções ou estados. [[Linguagem de programação Python|Python]] oferece duas formas principais de trabalhar com enumerações: a função `enumerate()` e a classe `Enum` do módulo `enum`.
 
**:: Referência ::**
 
### Sintaxe de classe
 
class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3
 
### Sintaxe funcional
 
 
 
### Color = Enum('Color', ['RED', 'GREEN', 'BLUE']) #Não recomendada
 
print(Color.RED)       # Output: Color.RED
print(Color.RED.value) # Output: 1
print(Color(1))         # Output: Color.RED
print(Color['RED'])     # Output: Color.RED
 
for color in Color:
    print(color)

Saída:

Color.RED
1
Color.RED
Color.RED
Color.RED
Color.GREEN
Color.BLUE

Explicação:

  • from enum import Enum: Importa a classe Enum do módulo enum.
  • class Color(Enum): Define uma nova enumeração chamada Color que herda da classe Enum.
  • RED = 1, GREEN = 2, BLUE = 3: Define os membros da enumeração, associando um nome a um valor.
  • Color.RED: Acessa o membro RED da enumeração Color.
  • Color.RED.value: Acessa o valor associado ao membro RED (que é 1).
  • Color(1): Cria um membro da enumeração a partir do valor 1 (retorna Color.RED).
  • Color['RED']: Acessa o membro RED da enumeração Color usando seu nome como chave.
  • for color in Color: Itera sobre todos os membros da enumeração.

Vantagens de usar a classe Enum:

  • Legibilidade: Torna o código mais claro e fácil de entender.
  • Segurança: Impede o uso de valores inválidos.
  • Manutenção: Facilita a manutenção e a refatoração do código.
  • Evita erros: Garante que você está usando apenas os valores definidos na enumeração.

Quando usar enumerações?

Use enumerações quando você tiver um conjunto fixo de opções ou estados que precisam ser representados de forma clara e segura. Exemplos:

  • Cores (vermelho, verde, azul)
  • Dias da semana (segunda, terça, quarta, etc.)
  • Status de um pedido (pendente, processando, enviado, entregue)
  • Níveis de prioridade (baixa, média, alta)

Referências: