Playground e Cheatsheet Para Aprender Python
Essa é uma coleção de scripts Python dividida em tópicos que contém exemplos de código com explicações, diferentes usos e links para outras leituras.
Ler em: English, Español, Traditional Chinese.
É um playground porque você pode fazer alterações no código para ver como ele se comporta, além de testá-lo usando asserções. Também é possível revisar o código que você escreveu automaticamente e verificar se ele se encaixa no guia de estilo de código Python. Isso tudo pode tornar seu processo de aprendizagem mais interativo e ajudar a manter a qualidade do código bastante alta desde o início.
É um cheatsheet porque você pode voltar a esses exemplos de código quando quiser recapitular a sintaxe das estruturas padrão do Python. O código está cheio de asserções, então você poderá ver o retorno das funções sem precisar executá-las.
Você pode se interessar também por 🤖 Interactive Machine Learning Experiments
Como Usar Esse Repositório
Nesse repositório, cada script Python possui a seguinte estrutura:
"""Lists <--- Nome do tópico # @see: https://www.learnpython.org/en/Lists <-- Link para outras leituras. A seguir, uma explicação mais detalhada do tópico atual (ex, informações gerais sobre listas (Lists)). """ def test_list_type(): """Explicação do subtópico. Cada arquivo contém funções de teste que ilustram subtópicos (ou seja, tipo de lista, métodos de lista). """ # Here is an example of how to build a list. <-- Comentários em inglês explicam a ação. squares = [1, 4, 9, 16, 25] # Lists can be indexed and sliced. # Indexing returns the item. assert squares[0] == 1 # <-- As asserções ilustram o resultado. # Slicing returns a new list. assert squares[-3:] == [9, 16, 25] # <-- As asserções ilustram o resultado.
Então você pode querer fazer o seguinte:
- Encontrar o tópico que deseja aprender ou recapitular.
- Ler os comentários e/ou a documentação vinculada em cada script (como no exemplo acima).
- Analisar os exemplos e asserções para ver exemplos de uso e saída esperada das funções.
- Alterar o código ou adicionar novas asserções para ver o que acontece.
- Executar testes e revisar o código para ver se ele funciona e para saber se está escrito corretamente.
Índice
- Começando
- Operadores
- Operadores Aritméticos (
+,-,*,/,//,%,**) - Operadores Bitwise (
&,|,^,>>,<<,~) - Operadores de Atribuição (
=,+=,-=,/=,//=etc.) - Operadores de Comparação (
==,!=,>,<,>=,<=) - Operadores Lógicos (
and,or,not) - Operadores de Indentidade (
is,is not) - Operadores de Associação (
in,not in)
- Operadores Aritméticos (
- Tipos de Dados
- Números (incluindo boleanos)
- Strings e seus métodos
- Listas e seus métodos (incluindo lista de compreensões)
- Tuplas
- Conjuntos e seus métodos
- Dicionários
- Casting de Tipo
- Controles de Fluxo
- A declaração
if - A declaração
for(e a funçãorange()) - A declaração
while - A declaração
try - A declaração
break - A declaração
continue
- A declaração
- Funções
- Definição de Função (declaração
defereturn) - Variáveis Dentro das Funções (declaração
globalenonlocal) - Valores Padrão de Argumentos
- Argumentos de palavras-chave
- Listas de Argumento Arbitrárias
- Desfazendo Lista de Argumentos (declaração
*e**) - Expressões Lambda (declaração
lambda) - Documentação das Strings
- Função de Anotações
- Função de Decoradores
- Definição de Função (declaração
- Classes
- Módulos
- Erros e Exceções
- Tratando Exceções (declaração
try) - Levantando Exceções (declaração
raise)
- Tratando Exceções (declaração
- Arquivos
- Lendo e Escrevendo (declaração
with) - Métodos de Objetos de Arquivos
- Lendo e Escrevendo (declaração
- Adicional
- A declaração
pass - Geradores (declaração
yield)
- A declaração
- Algumas Bibliotecas Padrão
- Serialization (biblioteca
json) - File Wildcards (biblioteca
glob) - String Pattern Matching (biblioteca
re) - Matemática (bibliotecas
math,randomestatistics) - Tempo e Datas (biblioteca
datetime) - Comprimindo Dados (biblioteca
zlib)
- Serialization (biblioteca
Pré-requisitos
Instalando o Python
Certifique-se de ter o Python3 instalado em sua máquina.
Você pode usar a biblioteca padrão do Python venv para criar ambientes virtuais e ter o Python, pip e todos os outros pacotes a serem instalados a partir do diretório local do projeto para evitar mexer com pacotes externos ou do sistema.
Dependendo da sua instalação, você pode ter acesso ao interpretador Python3 executando python ou python3. O mesmo vale para o gerenciador de pacotes pip, você pode acessá-lo executando pip ou pip3.
Você pode ver a versão do seu Python executando:
Observe que neste repositório sempre que você vê o python, será assumido que é o Python 3.
Instalando dependências
Instale todas as dependências necessárias para o projeto executando:
pip install -r requirements.txt
Testando o Código
Testes são feitos usando o framework pytest.
Você pode adicionar novos testes criando arquivos e funções com o prefixo test_
(ex. test_topic.py com a função def test_sub_topic() dentro).
Para executar todos os testes, execute o seguinte comando na pasta raiz do projeto:
Para executar testes específicos, execute:
pytest ./path/to/the/test_file.py
Revisando o Código
A revisão é feita usando as bibliotecas pylint e flake8.
PyLint
Para verificar se o código está escrito de acordo com o guia de estilo do PEP 8, execute:
Caso o pylint detecte um erro (ex. missing-docstring), convém ler mais sobre erros específicos executando:
pylint --help-msg=missing-docstring
Flake8
Para verificar se o código está escrito de acordo com o guia de estilo do PEP 8, execute:
Ou, se você quiser uma saída mais detalhada, execute:
flake8 ./src --statistics --show-source --count
Traduzido por vilmacio22.