🧩 Exercícios: Ecossistema Python 3.12+, Tipagem Estática e Estrutura Sequencial
Spec Sistemas Com Python • Trilha Progressiva em 4 Níveis
🎯 Nível 1: Fundamentos
Problema 01.1 — Type Annotations Nativas e Entrada/Saída com f-strings
Contexto: Type Annotations Nativas e Entrada/Saída com f-strings no contexto de Ecossistema Python 3.12+, Tipagem Estática e Estrutura Sequencial.
Requisitos de Execução:
- Escrever script com anotações de tipo
def calcular(valor: float, taxa: float) -> float:e formatar saída com f-strings.
Resultado Esperado
Script Python executado com tipagem explícita.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_01_1_SeuNome - Envie na tarefa:
Atividade Cap 01 - Ecossistema Python 3.12+, Tipagem Estática e Estrutura Sequencial
🔑 Gabarito de Código & Solução Comentada
def calcular_total(preco: float, desconto: float) -> float:
return preco * (1.0 - desconto)
if __name__ == "__main__":
total: float = calcular_total(250.0, 0.10)
print(f"Total calculado com desconto: R$ {total:.2f}")
🔍 Nível 2: Prática
Problema 01.2 — Validação Estrita de Tipos com Mypy em Modo Estrito (–strict)
Contexto: Validação Estrita de Tipos com Mypy em Modo Estrito (–strict) no contexto de Ecossistema Python 3.12+, Tipagem Estática e Estrutura Sequencial.
Requisitos de Execução:
- Configurar anotações em funções e coleções para passar no
mypy --strictsem erros de Any implícito.
Resultado Esperado
Código validado com sucesso pelo verificador estático Mypy.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_01_2_SeuNome - Envie na tarefa:
Atividade Cap 01 - Ecossistema Python 3.12+, Tipagem Estática e Estrutura Sequencial
🔑 Gabarito de Código & Solução Comentada
from typing import Final
VERSAO_APP: Final[str] = "3.12.2"
def formatar_identificador(prefixo: str, numero: int) -> str:
return f"{prefixo.upper()}_{numero:04d}"
print(formatar_identificador("usr", 42))
⚡ Nível 3: Integração
Problema 01.3 — Gerenciamento de Ambientes Virtuais com venv e uv
Contexto: Gerenciamento de Ambientes Virtuais com venv e uv no contexto de Ecossistema Python 3.12+, Tipagem Estática e Estrutura Sequencial.
Requisitos de Execução:
- Script automatizando a criação e ativação de venv isolado com dependências de produção.
Resultado Esperado
Ambiente virtual configurado de forma determinística.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_01_3_SeuNome - Envie na tarefa:
Atividade Cap 01 - Ecossistema Python 3.12+, Tipagem Estática e Estrutura Sequencial
🔑 Gabarito de Código & Solução Comentada
import sys
import subprocess
def verificar_ambiente() -> None:
em_venv = sys.prefix != sys.base_prefix
print(f"Executando dentro de VirtualEnv: {em_venv}")
print(f"Interpretador Python: {sys.executable}")
if __name__ == "__main__":
verificar_ambiente()
🏆 Nível 4: Desafio Corporativo
Problema 01.4 — Configuração Centralizada com pyproject.toml
Contexto: Configuração Centralizada com pyproject.toml no contexto de Ecossistema Python 3.12+, Tipagem Estática e Estrutura Sequencial.
Requisitos de Execução:
- Criar arquivo
pyproject.tomlunificando configurações de Ruff, Mypy e Pytest.
Resultado Esperado
Manifesto de projeto pyproject.toml padronizado para ambientes corporativos.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_01_4_SeuNome - Envie na tarefa:
Atividade Cap 01 - Ecossistema Python 3.12+, Tipagem Estática e Estrutura Sequencial
🔑 Gabarito de Código & Solução Comentada
# pyproject.toml
[project]
name = "python-systems-core"
version = "1.0.0"
requires-python = ">=3.12"
[tool.mypy]
strict = true
disallow_untyped_defs = true
[tool.ruff]
line-length = 100
target-version = "py312"