Python Expert
Um resumo dos treinamentos contidos no Python Expert.
-
BASE - Conceitos fundamentais que formam a base para iniciar com Python, neste treinamento além de toda a base fundamental teórica tem muito execício prático e a criação de um projeto de backend em terminal completo com interfaces, banco de dados e testes.
-
WEB - Python focado no desenvolvimento de backend para web e APIs usando os principais frameworks do mercado como Django, Flask e FastAPI, neste treinamento criaremos um mesmo projeto cobrindo as principais necessidades do mercado web e usando os 3 principais frameworks.
-
Automação - Python com foco em automação de operações em ambientes DevOps, Ci, Cloud, Testes, Qualidade de Software, neste treinamento falaremos sobre sockets, subprocessos, code coverage, comunicação com cloud providers e módulos Ansible, análise de performance e criação de wrapers para APIs.
-
Engineer - Para quem quer ir além da base, neste módulo vamos explorar conceitos avançados de Python, async, metaprogramação, descritores, criaremos nosso próprio framework e falaremos sobre inspeção de objetos e hooks.
Python BASE
Você está iniciando o Python BASE que é o primeiro passo para começar a sua carreira em desenvolvimento, este treinamento é pensado para pessoas que nunca tiveram contato com programação antes, ou que já possuem algum conhecimento em alguma outra linguagem e precisam aprender Python e vamos desde a teoria base do que é programação, instalação e configuração do ambiente, escolha de um editor de código e criação do seu primeiro script até a criação de vários pequenos programas que vão abordar as principais funcionalidades do Python e vamos também criar um projeto completo do zero com as melhores práticas do mercado.
Duração estimada em horas: 64h
Conteudo:
Day 1 - Iniciando no mundo da programação
Neste capítulo você terá uma introdução ao treinamento e aos conceitos básicos de programação e a linguagem Python, também aprenderá como instalar e preparar um ambiente para programar.
- Introdução
- Programação e Linguagens
- Como é organizada a plataforma Python
- Instalação e preparação do ambiente
- Repositório, git e seu primeiro script
- Variáveis de ambiente
- Tipos de instruções
- Organização de blocos de código
- Ambientes virtuais, instalação de pacotes e Ipython
Duração: 5h
Day 2 - Tipos e estruturas de dados
Neste capítulo você conhecerá os tipos e estruturas de dados do Python e execicios práticos para entender como manipulamos informações.
- Protocolos e Tipos de dados primitivos
- Float, Bool, None
- Textos, Caracteres e Strings
- Formatação de texto
- Tipos de dados compostos e Tuplas
- Listas
- Exercicio com Listas, Tuplas, Loops e Condicionais
- Sets (conjuntos)
- Dicionários
- Exercicio: Refatorando nosso Hello World com dicionários
Duração: 7h
Day 3 - Input, Output, Processamento
Nesta parte do treinamento o foco é obter informações do usuário, aplicar algortimo para processar e persistir a informação em arquivos.
- Stdin e Stdout
- Leitura de inputs do stdin e de argumentos do terminal
- Exercicio de criação de uma calculadora infix com input e argumentos
- Filesystem - Manipulação de arquivos e pastas
- Exercicio - Criando um bloco de anotações no terminal
- Tratamento de Erros LBYL e EAFP
- Logging - Formatando e gravando logs
- Algoritmos e lógica - Condicionais, Operadores compostos
- Condicionais ternárias e inline
- Repetições com for, while e comprehensions.
- Exercicio: Sistema de Reservas com iterators, textos, inputs e arquivos de texto.
Duração: 10h
Day 4 - Funções, Debugging e seu primeiro projeto.
Neste capítulo terá muito conteúdo sobre funções com exercicios práticos e em seguida aprenderá técnicas e ferramentas para depurar erros do programa e em seguida aprenderá a criar seu próprio projeto com as melhores práticas.
- Funções builtin uteis - sum, len, vars, min, max, filter, map
- Funções úteis da biblioteca padrão - random, pprint, itertools, functools, smtplib etc
- Definindo suas próprias Funções e aplicando fórmula matemática
- Anatomia detalhada de funções - assinatura, argumentos, retornos
- Escopos e namespaces e argumentos coringas
- Funções lambda
- Exercicio com lambda, recursão e introdução a programação funcional
- Debugging - Técnicas e ferramentas para encontrar erros.
- O Sistema de imports do Python
- Criando um repositótio para seu primeiro projeto e configurando o VSCode
- Estrutura de pastas, build e install do projeto
- Entry points com console scripts
- Gestão de dependencias e Makefile
Duração: 12h
Day 5 - Qualidade de Software e de Código
Nesta parte focamos em testes, integração continua e qualidade do projeto incluindo testes unitários, testes de integração e adequação com code style além de uma introdução a documentação de software e empacotamento.
- Introdução a testes + Doctest, Pytest e Decorators
- Diferençá entre unit e integration tests, configuração do Pytest e CI com Github Actions
- Boas práticas em testes e test reports
- Qualidade de código, linters e auto formatação
- Escolhendo boas ferramentas e libraries
- Introdução ao TDD
- Introdução a persistencia de dados e testes
- Documentação de projetos, Empacotamento e Distribuição no PyPI
Duração: 10h
Day 6 - Orientação a Objetos
Uma das principais caracteristicas da linguagem Python é a aplicação da Orientação a Objetos seguindo um modelo que é um pouco diferente do tradicional e muito flexivel, neste capítulo falaremos sobre toda a base da orientação a objetos com Python.
- Os paradigmas de programação
- Introdução a Orientação a Objetos
- Inicialização de instâncias
- Os 4 pilares da O.O: Abstração, Herança, Polimorfismo, Encapsulamento
- Encapsulamento com properties
- Python Data Model e Protocolos
- Python Moderno, Type Annotations e Dataclasses
- Dataclass abstrata, Enums, field e super()
- Structural Pattern Matching
Duração: 7h
Day 7 - Consumindo e armazenando dados.
Na maior parte dos programas sempre teremos que carregar e armazenar dados e para isso precisamos aprender a usar bancos de dados SQL e consultar APIs.
- Modelangem de dados com dataclasses e Pydantic
- Prova de conceito de um ORM
- Introdução a SQL e SQLite
- SQL Alchemy
- SQL Model
- Convertendo software legado para SQL
- Database Migrations e Consumindo API Rest
- Finalização do Projeto e desafios
Duração: 8h
Day 8 - Demonstrações
Nesta última parte do treinamento a intenção é fazer uma demonstração bastante breve a respeito das ferramentas e frameworks principais do mercado, o formato não será de aula mas sim de mão na massa, seguindo o mesmo projeto desenvolvido no treinamento vamos adicionar interfaces Gráfica (GUI), 2D (Pygame), terminal (TUI), web (html) e API (REST).
- Interface Gráfica para Desktop - Demonstração com Tk e Pysimplegui
- Interface 2D para games - Demonstração com Pygame
- Interface Gráfica para Terminal - Demonstração com Textual (game)
- Interface web com html - Demonstração com Flask
- Interface API com REST/Json - Demonstração com FastAPI
Duração: 5h