Skip to content

Commit

Permalink
Merge pull request #158 from codaqui/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
endersonmenezes authored Nov 28, 2023
2 parents 844da93 + dbc1780 commit 040af5c
Showing 1 changed file with 52 additions and 40 deletions.
92 changes: 52 additions & 40 deletions docs/trilhas/python.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,38 +18,23 @@ Essa linguagem de programação foi lançada por Guido van Rossum em 1991.

`Materiais de Referência`:

- [Introdução a Programação Python - Prof. MARCO VAZ](https://www.codingame.com/playgrounds/34774/introducao-a-programacao-python---prof--marco-vaz/apresentacao)
- [Introdução a Programação Python - IFSP](http://antigo.scl.ifsp.edu.br/portal/arquivos/2016.05.04_Apostila_Python_-_PET_ADS_S%C3%A3o_Carlos.pdf)

- [WikiPython Brasil - Apresentação](https://wiki.python.org.br/PythonApresentacao)

- [Apresentando a Linguagem de Programação Python](https://www.slideshare.net/MayogaX/apresentando-a-linguagem-de-programao-python)

### 2 - Preparando o ambiente
Aqui é fornecido guias para a instalação de compiladores de Python.

`Materiais de Referência`:

- [Configurando um ambiente de desenvolvimento Django](https://developer.mozilla.org/pt-BR/docs/Learn/Server-side/Django/development_environment)

- [Instalação do Django](https://tutorial.djangogirls.org/pt/django_installation/)

- [Guia definitivo para organizar meu ambiente Python](https://medium.com/welcome-to-the-django/guia-definitivo-para-organizar-meu-ambiente-python-a16e2479b753)

- [Flask no Replit](https://replit.com/talk/learn/Flask-Tutorial-Part-1-the-basics/26272)

- [WSL no Windows](https://docs.microsoft.com/pt-br/windows/wsl/install)

### 3 - Introdução à linguagem Python
### 2 - Introdução à linguagem Python

Nos links disponíveis abaixo será feita uma introdução da linguagem de programação Python.

`Materiais de Referência`:

- [Introdução - Python BR](https://python.org.br/introducao/)

- [MeetUp Introdução ao Python - DevMedia](https://www.devmedia.com.br/meetup-introducao-ao-python/40245)
- [Vídeo Introdução ao Python - Canal Programador Python](https://www.youtube.com/watch?v=3J1xBL7zJXg)

### 4 - Variáveis e Tipos de Dados em Python
### 3 - Variáveis e Tipos de Dados em Python

Uma variável é um espaço na memória do computador destinado a um dado que é alterado durante a execução do algoritmo. Para funcionar corretamente, as variáveis precisam ser definidas por nomes e tipos. Nesta aula iremos estudar os tipos de variáveis e suas diferenças.

Expand All @@ -59,7 +44,11 @@ Uma variável é um espaço na memória do computador destinado a um dado que é

- [Variáveis - USP](https://panda.ime.usp.br/cc110/static/cc110/03-variaveis.html)

### 5 - Estruturas Lógicas e Condicionais em Python
`Material Complementar:`

- [Tipos de Variáveis - PythonAcademy](https://pythonacademy.com.br/blog/tipos-de-variaveis-no-python)

### 4 - Estruturas Lógicas e Condicionais em Python
As estruturas condicionais permitem que um programa execute diferentes comandos de acordo com as condições estabelecidas. Aqui, estudaremos suas aplicações e formatos.

`Materiais de Referência`:
Expand All @@ -68,7 +57,7 @@ As estruturas condicionais permitem que um programa execute diferentes comandos

- [Operadores Lógicos - Caravela](https://pense-python.caravela.club/05-condicionais-e-recursividade/00-condicionais-e-recursividade.html)

### 6 - Estruturas de Repetição em Python
### 5 - Estruturas de Repetição em Python

Estruturas de repetição é uma estrutura lógica que permite executar mais de uma vez o mesmo comando ou conjunto de comandos, podendo ser utilizada para repetir um mesmo processamento até que a condição seja satisfeita ou até mesmo para repetir ações semelhantes que são executadas para todos os elementos de uma lista de dados. As estruturas de repetição vão fazer alguma tarefa repetitiva de forma automática.

Expand All @@ -78,7 +67,7 @@ Estruturas de repetição é uma estrutura lógica que permite executar mais de

- [Estruturas de Repetição - #Treinamentos](https://www.hashtagtreinamentos.com/estruturas-de-repeticao-python)

### 7 - Coleções Python
### 6 - Coleções Python
As coleções permitem armazenar múltiplos itens dentro de uma única unidade, que funciona como um container. Neste tópico iremos ver quais são e como usa-las.

`Materiais de Referência`:
Expand All @@ -91,7 +80,7 @@ As coleções permitem armazenar múltiplos itens dentro de uma única unidade,

- [Coleções em python - Aprenda dicionário resumidamente)](https://youtu.be/2Q4GkMQ-vzQ)

### 8 - Funções em Python
### 7 - Funções em Python
Após passarmos pela Seção 7, vamos comentar sobre as Funções em Python. São blocos de códigos que só são executados quando chamados, podemos passar dados (os famosos parâmetros), e depois retornar alguma resposta.

`Materiais de Referência`:
Expand All @@ -106,7 +95,7 @@ Após passarmos pela Seção 7, vamos comentar sobre as Funções em Python. Sã

- [Um Programador Pleno já deveria saber usar esse Design Pattern (tutorial linha a linha)](https://youtu.be/arAz2Ff8s88?t=111)

### 9 - Comprehensions em Python
### 8 - Comprehensions em Python

As Comprehensions em Python serve para escrever uma nova lista baseada em outra lista existente de uma maneira mais curta, deixando mais fácil de entender e mais simples de ler o código.

Expand All @@ -116,7 +105,7 @@ As Comprehensions em Python serve para escrever uma nova lista baseada em outra

- [Comprehension](https://pythonhelp.wordpress.com/2011/03/01/list-comprehension/)

### 10 - Expressões Lambdas e Funções Integradas
### 9 - Expressões Lambdas e Funções Integradas

Uma expressão lambda permite escrever funções anônimas/sem nome usando apenas uma linha de código. As funções integradas são funções que permitem obter alguma informação a respeito de uma variável de tipo padrão ou transformar o tipo de uma variável. Neste tópico, podemos aprender mais profundamente sobre ambas.

Expand All @@ -130,7 +119,7 @@ Uma expressão lambda permite escrever funções anônimas/sem nome usando apena

- [Guru99 - Lambda Functions Examples](https://www.guru99.com/python-lambda-function.html)

### 11 - Debugando e Tratando erros
### 10 - Debugando e Tratando erros
Debugar é encontrar e corrigir erros de um programa. Nesse tópico iremos ver como tratar erros e exceções.

`Materiais de Referência`:
Expand All @@ -139,7 +128,7 @@ Debugar é encontrar e corrigir erros de um programa. Nesse tópico iremos ver c

- [Entendendo melhor as mensagens de erro](https://pythonhelp.wordpress.com/2012/12/31/deu-erro-e-agora-o-que-eu-faco/)

### 12 - Trabalhando com Módulos Python
### 11 - Trabalhando com Módulos Python

Módulos em Python são arquivos contendo definições e comandos a serem utilizados em outros programas na mesma linguagem, utilizando a `keyword import`.

Expand All @@ -153,7 +142,7 @@ Leia mais a respeito de **módulos** nos _links_ de estudo abaixo.

- [Módulos-Executando módulos como scripts](https://docs.python.org/pt-br/3/tutorial/modules.html)

### 13 - Leitura e Escrita em Arquivos
### 12 - Leitura e Escrita em Arquivos

Os computadores utilizam os arquivos como estruturas de dados, por exemplo, vídeos, imagens e planilhas. Nesta aula, vamos aprender como os programas em Python criam, recuperam, atualizam e processam arquivos de dados, ou seja, manipulam arquivos.

Expand All @@ -164,7 +153,7 @@ Os computadores utilizam os arquivos como estruturas de dados, por exemplo, víd
- [Como escrever e salvar arquivos JSON em Python](https://academiahopper.com.br/trabalhando-com-arquivos-em-python/)
- [Manipulando arquivos - FreeCodeCamp](https://www.freecodecamp.org/portuguese/news/como-escrever-em-um-arquivo-em-python-open-read-append-e-outras-funcoes-de-manipulacao-explicadas/)

### 14 - Iteradores e Geradores Python
### 13 - Iteradores e Geradores Python

Iterator em python é um objeto que é usado para iterar sobre objetos iteráveis, como listas, tuplas, dicts e conjuntos.
Os geradores em Python são uma maneira simples de criar um objeto iterável sem a necessidade de construí-lo dentro de uma classe. Um objeto iterável consiste em um conjunto finito de dados cujo conteúdo é tratado um elemento por vez, iniciando do primeiro e seguindo até o último, quando a iteração é terminada.
Expand All @@ -178,7 +167,7 @@ Os geradores em Python são uma maneira simples de criar um objeto iterável sem
- [Diferença entre iteradores e geradores do Python - QA Stack]( https://qastack.com.br/programming/2776829/difference-between-pythons-generators-and-iterators)


### 15 - Decoradores em Python
### 14 - Decoradores em Python

Saindo dos iteradores e geradores, seguiremos com decoradores em python. Para simplificarmos sua ideia, podemos dizer que eles são funções que modificam a funcionalidade de uma outra função.

Expand All @@ -190,7 +179,7 @@ Saindo dos iteradores e geradores, seguiremos com decoradores em python. Para si

- [Como funcionam os decoradores em Python?](https://pt.stackoverflow.com/questions/23628/como-funcionam-decoradores-em-python)

### 16 - Orientação a Objetos com Python
### 15 - Orientação a Objetos com Python

Programação orientada a objetos (POO) é um paradigma de programação baseado no conceito de "objetos", que podem conter dados na forma de campos, também conhecidos como atributos, e códigos, na forma de procedimentos, também conhecidos como métodos.

Expand All @@ -202,7 +191,7 @@ Programação orientada a objetos (POO) é um paradigma de programação baseado

- [Programação Orientada a Objetos com Python](https://wiki.python.org.br/ProgramacaoOrientadaObjetoPython)

### 17 - Herança e Polimorfismo
### 16 - Herança e Polimorfismo

Herança é um mecanismo importante quando um grupo de classes apresenta a mesma interface, mas a implementação interna dos métodos é diferente. Polimorfismo é a capacidade que uma subclasse tem de ter métodos com o mesmo nome de sua superclasse, e o programa saber qual método deve ser invocado, especificamente.

Expand All @@ -214,15 +203,15 @@ Herança é um mecanismo importante quando um grupo de classes apresenta a mesma

- [Conceitos de Polimorfismo em POO](https://www.devmedia.com.br/conceitos-e-exemplos-polimorfismo-programacao-orientada-a-objetos/18701)

### 18 - Manipulando Arquivos CSV e JSON
### 17 - Manipulando Arquivos CSV e JSON

O arquivo CSV (valores separados por vírgulas) é um arquivo de texto com formato específico para possibilitar o salvamento dos dados em um formato estruturado de tabela. O formato JSON (JavaScript Object Notation) é utilizado para estruturar dados em formato de texto e permitir a troca de dados entre aplicações de forma simples, leve e rápida.

`Materiais de Referência`:

- [importando dados com Python](https://imasters.com.br/back-end/data-science-importando-dados-com-python)

### 19 - Trabalhando com Data e Hora em Python
### 18 - Trabalhando com Data e Hora em Python

Registrar um momento qualquer no tempo é um requisito comum em todo sistema usual. Esse registro pode ser em data e hora. É comum fazer operações com esses dados, portanto, sua precisão é muito importante.

Expand All @@ -234,15 +223,15 @@ Registrar um momento qualquer no tempo é um requisito comum em todo sistema usu

- [Trabalhando com datas e horas em Python](https://pythonhelp.wordpress.com/2012/07/10/trabalhando-com-datas-e-horas-em-python-datetime/)

### 20 - Testes com Python
### 19 - Testes com Python

Os testes servem para antecipar e corrigir falhas e bugs que apareceriam para o usuário final. Neste tópico iremos apresentar como fazer testes em um programa.

`Materiais de Referência`:

- [Testes em Python parte I](https://dev.to/womakerscode/testes-em-python-parte-1-introducao-43ei)

### 21 - Encerramento
### 20 - Encerramento

Neste tópico iremos abordar comandos que podem ser usados para fechar um programa escrito na linguagem Python.

Expand All @@ -251,7 +240,7 @@ Neste tópico iremos abordar comandos que podem ser usados para fechar um progra
- [Finalizando um script Python - QA Stack]( https://qastack.com.br/programming/73663/how-to-terminate-a-python-script)


### 22 - Gerenciamento de Memória em Python
### 21 - Gerenciamento de Memória em Python

Quando criamos uma variável em Python, essa variável é armazenada na memória do computador. A alocação de memória pode ser definida como a alocação de um bloco de espaço na memória do computador para um programa. Nesta aula iremos entender como funciona o gerenciamento de memória do computador.

Expand All @@ -260,7 +249,7 @@ Quando criamos uma variável em Python, essa variável é armazenada na memória
- [Gerenciamento de memória Python – Weekly-Geekly ES]( https://weekly-geekly-es.imtqy.com/articles/pt441568/index.html)


### 23 - Checagem de Tipos em Python
### 22 - Checagem de Tipos em Python

Neste tópico você vai aprender a como checar o tipo de uma variável em Python, ou seja, saber qual o tipo de dado uma variável contém.

Expand All @@ -271,7 +260,7 @@ Neste tópico você vai aprender a como checar o tipo de uma variável em Python
- [Checagem de tipos no Python - gutierri]( https://medium.com/gutierri/checagem-de-tipos-no-python-1533fe1e786f)


### 24 - Interagindo com o sistema operacional
### 23 - Interagindo com o sistema operacional

Há momentos no desenvolvimento de uma aplicação que precisamos interagir com o sistema operacional para acessar diretórios, criar arquivos, executar comandos entre outras ações, e para isso contamos com algumas bibliotecas nativas do Python, como [os](https://docs.python.org/pt-br/3/library/os.html) e [subprocess](https://docs.python.org/pt-br/3/library/subprocess.html), que nos auxiliam nesses processos.

Expand All @@ -281,7 +270,7 @@ Há momentos no desenvolvimento de uma aplicação que precisamos interagir com
- [Interagindo com o sistema operacional - TecnoGuia](https://tecnoguia.istocks.club/o-que-e-o-modulo-os-do-python-e-como-usa-lo/2021-03-15/)


### 25 - Consumindo dados de fontes externas
### 24 - Consumindo dados de fontes externas

Neste tópico será abordado formas de trabalhar com dados provenientes de fontes externas, como um site ou outra aplicação.

Expand All @@ -292,6 +281,21 @@ O Python disponibiliza nativamente a biblioteca [urllib](https://docs.python.org
- [Como usar Urllib - Ciksiti](https://ciksiti.com/pt/chapters/5031-how-to-use-urllib-in-python--linux-hint)
- [Consumindo a API do Github - Alura](https://www.alura.com.br/artigos/consumindo-a-api-do-github-em-python)

## 25 - Ambiente de Desenvolvimento Local

Aqui é fornecido guias para a instalação de compiladores de Python.

`Materiais de Referência`:

- [Configurando um ambiente de desenvolvimento Django](https://developer.mozilla.org/pt-BR/docs/Learn/Server-side/Django/development_environment)

- [Instalação do Django](https://tutorial.djangogirls.org/pt/django_installation/)

- [Guia definitivo para organizar meu ambiente Python](https://medium.com/welcome-to-the-django/guia-definitivo-para-organizar-meu-ambiente-python-a16e2479b753)

- [Flask no Replit](https://replit.com/talk/learn/Flask-Tutorial-Part-1-the-basics/26272)

- [WSL no Windows](https://docs.microsoft.com/pt-br/windows/wsl/install)

## 26 - Novidades

Expand Down Expand Up @@ -330,6 +334,14 @@ Vamos conhecer a versão 3.10 no Python. A nova versão apresenta novas funciona

- [What’s new in Python 3.10](https://www.infoworld.com/article/3617460/whats-new-in-python-310.html)

### Novidades do Python 3.11

[Em Desenvolvimento]

### Novidades do Python 3.12

[Em Desenvolvimento]

# Discussões

- [Atualização 1 - PR#6](https://github.com/codaqui/institucional-trilhas-estudos/pull/6)
Expand Down

0 comments on commit 040af5c

Please sign in to comment.