owned this note
owned this note
Published
Linked with GitHub
[⬅️ Voltar ao indice do Python Expert](/VOOutlFtR9SZ59VxFiTywA)
# 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: 60h
---
## 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.
1. Introdução
2. Programação e Linguagens
3. Como é organizada a plataforma Python
4. Instalação e preparação do ambiente
5. Repositório, git e seu primeiro script
6. Variáveis de ambiente
7. Tipos de instruções
8. Organização de blocos de código
9. 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.
10. Protocolos e Tipos de dados primitivos
11. Float, Bool, None
12. Textos, Caracteres e Strings
13. Formatação de texto
14. Tipos de dados compostos e Tuplas
15. Listas
16. Exercicio com Listas, Tuplas, Loops e Condicionais
17. Sets (conjuntos)
18. Dicionários
19. 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.
20. Stdin e Stdout
21. Leitura de inputs do stdin e de argumentos do terminal
22. Exercicio de criação de uma calculadora infix com input e argumentos
23. Filesystem - Manipulação de arquivos e pastas
24. Exercicio - Criando um bloco de anotações no terminal
25. Tratamento de Erros LBYL e EAFP
26. Logging - Formatando e gravando logs
27. Algoritmos e lógica - Condicionais, Operadores compostos
28. Condicionais ternárias e inline
29. Repetições com for, while e comprehensions.
30. 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.
31. Funções builtin uteis - sum, len, vars, min, max, filter, map
32. Funções úteis da biblioteca padrão - random, pprint, itertools, functools, smtplib etc
33. Definindo suas próprias Funções e aplicando fórmula matemática
34. Anatomia detalhada de funções - assinatura, argumentos, retornos
35. Escopos e namespaces e argumentos coringas
36. Funções lambda
37. Exercicio com lambda, recursão e introdução a programação funcional
38. Debugging - Técnicas e ferramentas para encontrar erros.
39. O Sistema de imports do Python
40. Criando um repositótio para seu primeiro projeto e configurando o VSCode
41. Estrutura de pastas, build e install do projeto
42. Entry points com console scripts
43. 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.
44. Introdução a testes + Doctest, Pytest e Decorators
45. Diferençá entre unit e integration tests, configuração do Pytest e CI com Github Actions
46. Boas práticas em testes e test reports
47. Qualidade de código, linters e auto formatação
48. Escolhendo boas ferramentas e libraries
49. Introdução ao TDD
50. Documentação de projetos
51. Empacotamento e Distribuição no PyPI
Duração: TBD -
Previsão de conclusão: 15/03
## 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.
52. O que é orientação a objetos (no Python) e qual problema ela resolve
53. Classes, Atributos e Métodos
54. Python Data Model e Protocolos
55. Herança, Composição, Encapsulamento
56. Dataclasses
57. Aplicando O.O em nosso projeto
58. Bibliotecas úteis orientadas a Objetos (Pydantic)
59. Type Annotations
60. Structural Pattern Matching
Duração: TBD
Previsão de conclusão: 18/03
## 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.
61. Introdução a Bancos de dados SQL
62. Modelagem de banco de dados com ORM
63. Aplicando um ORM em nosso projeto
64. Consumindo APIs REST
65. Serialização e De-serialização
Duração: TBD
Previsão de conclusão: 23/03
## 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).
66. Interface Gráfica para Desktop - Demonstração com Tk e Pysimplegui
67. Interface 2D para games - Demonstração com Pygame
68. Interface Gráfica para Terminal - Demonstração com Textual
69. Interface web com html - Demonstração com Flask
70. Interface API com REST/Json - Demonstração com FastAPI
Duração: TBD
Previsão de conclusão: 30/03