📊 Capítulo 02: Condicionais & match/case
Especialização em Sistemas com Python
🗺️ Structural Pattern Matching (PEP 634 - match/case)
flowchart TD
CMD["match comando:"]
--> CASE1["case ['mover', x, y]:\n(Desempacota lista de 3 elementos e vincula variáveis x e y)"]
CMD --> CASE2["case {'status': 200, 'dados': list() as d}:\n(Valida dicionário e captura dados como lista!)"]
CMD --> CASE3["case int() | float() if comando > 0:\n(Valida tipos numéricos com Guard condicional!)"]
CMD --> CASE_DEF["case _:\n(Wildcard padrão / Trata qualquer outro caso não mapeado)"]
style CMD fill:#ede7f6,stroke:#512da8,stroke-width:2px
style CASE1 fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
style CASE2 fill:#fff3e0,stroke:#ff9800,stroke-width:2px
style CASE3 fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px
style CASE_DEF fill:#ffebee,stroke:#d32f2f,stroke-width:1.5px
🎯 Slide 1: if / elif / else e Valores Falsy
- Em Python, os seguintes valores avaliam para
Falseem condicionais:None,False- Zero numérico:
0,0.0 -
Coleções vazias:
"",[],(),{},set()
- Prefira
if not lista:em vez deif len(lista) == 0:(Pythonic Way!).
🎯 Slide 2: O Operador Ternário Pythonico
status = "Aprovado" if nota >= 7.0 else "Reprovado"
🎯 Slide 3: Guards no match/case
match ponto:
case (x, y) if x == y:
print(f"Ponto na diagonal principal: {x}")
case (x, y):
print(f"Coordenadas arbitrárias: ({x}, {y})")
🔗 Navegação do Capítulo 02
| 📖 Ler Conteúdo Completo | 🧠 Fazer Quiz | 💻 Ver Exemplos | 🧩 Exercícios |
Slide 1 de 1
Atalhos: ← → Navegar • Espaço Avançar • F Tela Cheia • Home Início • End Fim