Capítulo 04: Operadores Bitwise, Manipulação Avançada de Strings e Formatação (F-Strings)
Especialização em Sistemas com Python & POO com Type Hints • Capítulo 04
🗺️ Mapa Conceitual do Tópico
flowchart LR
A["Entrada Textual / Flags de Bits"] --> B["Operadores Bitwise (&, |, ^, <<, >>)"]
A --> C["Métodos de String (.split, .strip, .replace)"]
B --> D["Máscara de Permissões Binárias"]
C --> E["Sanitização e Validação Algorítmica"]
D & E --> F["F-Strings Modernas com Máscaras (:>10.2f, :08b)"]
style A fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px
style B fill:#fff3e0,stroke:#ff9800,stroke-width:2px
style C fill:#fff3e0,stroke:#ff9800,stroke-width:2px
style F fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
🔢 1. Operadores Bitwise (Manipulação em Nível de Bits)
Operações bit a bit manipulam diretamente os bits de representação de inteiros:
&(AND): 1 se ambos forem 1.|(OR): 1 se ao menos um for 1.^(XOR): 1 se forem diferentes.~(NOT): Inversão de bits (complemento de dois).<<e>>: Deslocamento de bits para esquerda (multiplicação por $2^n$) e direita (divisão por $2^n$).
🔤 2. Manipulação Avançada de Strings e F-Strings
Strings em Python são imutáveis e codificadas nativamente em UTF-8. As f-strings (PEP 498) suportam formatação avançada de alinhamento, preenchimento, casas decimais e representações numéricas (:08b, :>12.2f).
💻 Exemplo Prático e Tipado
"""
exemplo_04_operadores_bitwise_e_strings.py - Controle de Acessos com Flags de Bits
"""
from typing import Final
PERM_LEITURA: Final[int] = 1 << 0 # 0001 (1)
PERM_ESCRITA: Final[int] = 1 << 1 # 0010 (2)
PERM_EXECUCAO: Final[int] = 1 << 2 # 0100 (4)
PERM_ADMIN: Final[int] = 1 << 3 # 1000 (8)
def verificar_permissao(mascara_usuario: int, permissao_requerida: int) -> bool:
return (mascara_usuario & permissao_requerida) == permissao_requerida
if __name__ == "__main__":
perfil_dev = PERM_LEITURA | PERM_EXECUCAO # 0101 (5)
print(f"Perfil Binário: {perfil_dev:04b} (Decimal: {perfil_dev})")
print(f"Pode Ler? {verificar_permissao(perfil_dev, PERM_LEITURA)}")
print(f"Pode Escrever? {verificar_permissao(perfil_dev, PERM_ESCRITA)}")
print(f"Pode Executar? {verificar_permissao(perfil_dev, PERM_EXECUCAO)}")
🔗 Recursos Pedagógicos do Capítulo 04
| Recurso Didático | Finalidade | Link de Acesso |
|---|---|---|
| 📊 Slides de Aula | Apresentação visual interativa com Dark Mode e suporte a teclado | Ver Slides |
| 🧠 Quiz Formativo | Teste interativo de fixação com feedback imediato por alternativa | Fazer Quiz |
| 💻 Exemplos de Código | Demonstrações funcionais com Type Hints e saída no console | Ver Exemplos |
| 🧩 Exercícios em 4 Níveis | Lista progressiva de fixação com gabarito em bloco colapsável | Resolver Exercícios |
| 🔁 Capítulo Anterior | 📚 Sumário de Tópicos | 🏛️ Próximo Capítulo |