Saltar para o conteúdo principal
🔒 Modo de pré-visualização. As primeiras quinze aulas de Foundations são grátis; esta é Pro. Inicie um trial de 7 dias para desbloquear o editor, as dicas AI e o resto do programa. Cartão necessário, cancele a qualquer momento no Dashboard.Iniciar trial de 7 dias →
← CursosSenior Deep-DivesModule 10 · Production idioms (modern Python)enum.StrEnum — type-safe strings that serialise like stringspredict145 / 161
+150 XP
Tarefa
📝 **Tarefa:** Prever a saída de 9 linhas. Um StrEnum 'Status' possui 3 membros. Os exercícios da lição: print(member) fornece o VALUE e não o nome qualificado (a surpresa StrEnum); == comparação com string simples é True; isinstance(membro, str) é Verdadeiro; a interpolação de string f imprime o valor; a pesquisa por valor funciona e o acessador de pesquisa por nome funciona; pesquisa inválida gera ValueError; a iteração segue a ordem de declaração. 📋 Implemente a função acima. Os testes são executados automaticamente. 💡 **Dica:** Releia a teoria se tiver dúvidas.
Prevê a saída

Lê o código com atenção

from enum import StrEnum


class Status(StrEnum):
    PENDING = "pending"
    ACTIVE = "active"
    CANCELLED = "cancelled"


s = Status.ACTIVE

# 1. print(member) — the StrEnum surprise: value, NOT Status.ACTIVE
print(s)
# 2. Equal to the plain string
print(s == "active")
# 3. .value accessor (same as print here, but explicit)
print(s.value)
# 4. isinstance(member, str) — StrEnum members ARE strings
print(isinstance(s, str))
# 5. f-string interpolation uses str(member) = the value
print(f"status: {s}")

# 6. Lookup by value — print(member) again returns value
print(Status("pending"))
# 7. .name accessor — capital identifier
print(Status("pending").name)

# 8. Invalid value
try:
    Status("nope")
except ValueError:
    print("invalid value")

# 9. Iteration order = declaration order
print([m.value for m in Status])

O que o programa vai imprimir? Escreve aqui:

💬 Discussão

Seja o primeiro a fazer uma pergunta ou compartilhar uma dica.
Faça login para entrar na discussão. A leitura é gratuita.
Carregando discussão…