Python
Conceitos
O que é Python?
- Linguagem de programação de alto nível;
- Fácil de aprender e usar;
- Sintaxe clara e expressiva;
- Multiplataforma;
- Interpretada e dinâmica;
- Suporta múltiplos paradigmas:
- Programação orientada a objetos;
- Programação funcional;
- Programação procedural;
- Extensa biblioteca padrão;
O que é PIP?
- Gerenciador de pacotes do Python;
- Instalar bibliotecas de terceiros;
- Fornecer bibliotecas;
- Comparáveis:
- NPM do Node.js;
- Composer do PHP;
- Gems do Ruby;
Características do Python
- Interpretado
- Não precisa ser compilado;
- Execução direta do código fonte;
- Tipagem dinâmica
- Tipos são inferidos em tempo de execução;
- Não é necessário declarar tipos;
- Gerenciamento automático de memória
- Garbage collector;
- Não precisa alocar/desalocar memória manualmente;
Frameworks
- Web:
- Django: Full-featured;
- Flask: Microframework;
- FastAPI: APIs modernas;
- Data Science:
- NumPy;
- Pandas;
- Scikit-learn;
- GUI:
- Tkinter;
- PyQt;
- Kivy;
Instalações e Configurações
Instalação do Python
Instalação do Python via Chocolatey no Windows:
# Utilizando o Chocolateychoco install python
Instalação do Python em Linux/Mac:
# Ubuntu/Debiansudo apt-get install python3# MacOS com Homebrewbrew install python
Desenvolvimento Web
Como funciona?
- Frameworks web Python seguem padrões:
- WSGI (Web Server Gateway Interface);
- ASGI (Asynchronous Server Gateway Interface);
- Padrão MVC/MVT comum:
- Models: Dados/BD;
- Views/Templates: Interface;
- Controllers: Lógica;
Benefícios
- Desenvolvimento rápido;
- Grande ecossistema de bibliotecas;
- Comunidade ativa;
- Fácil integração com:
- Bancos de dados;
- APIs;
- Serviços em nuvem;
Tipos de Parâmetros
- Query Params: Filtros e paginação (?param=valor)
- Path Params: Identificar recursos (/users/123)
- Request Body: Dados para criar/atualizar (JSON/Form)