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
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.
- 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
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:
python --versionObserve 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.txtTestes 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:
pytestPara executar testes específicos, execute:
pytest ./path/to/the/test_file.pyA revisão é feita usando as bibliotecas pylint e flake8.
Para verificar se o código está escrito de acordo com o guia de estilo do PEP 8, execute:
pylint ./src/Caso o pylint detecte um erro (ex. missing-docstring), convém ler mais sobre erros específicos executando:
pylint --help-msg=missing-docstringPara verificar se o código está escrito de acordo com o guia de estilo do PEP 8, execute:
flake8 ./srcOu, se você quiser uma saída mais detalhada, execute:
flake8 ./src --statistics --show-source --countTraduzido por vilmacio22.