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
def
ereturn
) - Variáveis Dentro das Funções (declaração
global
enonlocal
) - 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
,random
estatistics
) - 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 --version
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
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:
pytest
Para executar testes específicos, execute:
pytest ./path/to/the/test_file.py
A 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-docstring
Para verificar se o código está escrito de acordo com o guia de estilo do PEP 8, execute:
flake8 ./src
Ou, se você quiser uma saída mais detalhada, execute:
flake8 ./src --statistics --show-source --count
Traduzido por vilmacio22.