ti_publica:dicas_python
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anteriorÚltima revisãoAmbos lados da revisão seguinte | ||
ti_publica:dicas_python [2019/11/23 21:24] – [Pré-requisitos] cartola | ti_publica:dicas_python [2019/12/06 11:54] – [Instalações] cartola | ||
---|---|---|---|
Linha 4: | Linha 4: | ||
referência rápida (Cheat Sheet). | referência rápida (Cheat Sheet). | ||
- | ==== Pré-requisitos | + | ==== Instalações |
* Python 3 ([[https:// | * Python 3 ([[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
+ | * Isso acaba já instalando o pip3 | ||
+ | * Dentro do venv: | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Pro YouCompleteMe funcionar no Vim dentro de um venv de Python3 tive que instalar:\\ < | ||
==== Configurando o ambiente ==== | ==== Configurando o ambiente ==== | ||
Linha 35: | Linha 40: | ||
===== Verificando código ===== | ===== Verificando código ===== | ||
- | **Ferramenta: | + | === pylint |
- | * integrado | + | * Integrado |
* Sugere: | * Sugere: | ||
- | * melhores | + | * Melhores |
- | * melhores | + | * Melhores |
- | * erros de sintaxe | + | * Erros de sintaxe |
- | * documentação | + | * Documentação |
* etc | * etc | ||
- | * Verifica sempre que o arquivo | + | * Analise se não é melhor instalar via pip dentro do venv, assim cada ambiente fica com o pylint correto direto (python2 / 3) |
- | **Ferramenta:** black | + | Uso: |
- | * só pra formatação | + | |
- | * uso independente | + | |
- | * não destrutivo | + | |
+ | | ||
+ | * No arquivo (a partir da linha):< | ||
+ | * ou: <code python># pylint: disable=invalid-name</ | ||
+ | * Numa linha:< | ||
+ | * Se precisar reabilitar (a partir da linha):< | ||
+ | * Em todos os arquivos: | ||
+ | * Edite o arquivo de configuração do pylint, item '' | ||
+ | * Se o arquivo não existir:< | ||
+ | |||
+ | === black === | ||
+ | * Só pra formatação | ||
+ | * Uso independente | ||
+ | * Não destrutivo | ||
===== Testes com pytest ===== | ===== Testes com pytest ===== | ||
- | ===== Virtualenv ===== | + | A ideia é que você crie um programa que vá testar seu código. O pytest é uma ferramenta que vai facilitar isso. |
- | Referências: | + | Exemplo de código: |
- | | + | <code python> |
+ | """ | ||
+ | |||
+ | for passnum in range(len(lista)-1, | ||
+ | mudou = False | ||
+ | for i in range(passnum): | ||
+ | if lista[i] > lista[i+1]: | ||
+ | lista[i], lista[i+1] = lista[i+1], lista[i] | ||
+ | print(lista) | ||
+ | mudou = True | ||
+ | if not mudou: | ||
+ | return lista | ||
+ | return lista</ | ||
- | | + | Exemplo de programa que testa o código: |
+ | <code python># -*- coding: UTF-8 -*- | ||
- | | + | import pytest |
+ | import semana5 | ||
+ | |||
+ | class Testa_semana5_bubble(): | ||
+ | |||
+ | @pytest.mark.parametrize(" | ||
+ | ([5, 1, 4, 2], [1, 2, 4, 5]), | ||
+ | ([12, 13, 14, 11], [11, 12, 13, 14]), | ||
+ | ([12, 13, -2, 14, 11], [-2, 11, 12, 13, 14]), | ||
+ | ]) | ||
+ | |||
+ | def testes(self, | ||
+ | assert semana5.bubble_sort(lista) == resultado</ | ||
+ | |||
+ | Para realizar o teste chamamos o programa que testa via pytest: | ||
+ | <code shell>$ pytest-3 testa.py | ||
+ | === test session starts === | ||
+ | platform linux -- Python 3.6.8, pytest-3.3.2, | ||
+ | rootdir: / | ||
+ | plugins: pylint-0.8.0 | ||
+ | collected 3 items | ||
+ | |||
+ | testa.py ... [100%] | ||
+ | |||
+ | === 3 passed in 0.03 seconds === | ||
+ | </ | ||
+ | ===== Venv ===== | ||
+ | |||
+ | Referência [[https:// | ||
+ | |||
+ | * Criando um virtualenv:< | ||
+ | # ou | ||
+ | $ pyvenv < | ||
+ | | ||
==== Dentro de um virtualenv ==== | ==== Dentro de um virtualenv ==== | ||
* Obtendo o que é usado num projeto:< | * Obtendo o que é usado num projeto:< | ||
* Pode se salvar a saída disso num arquivo para incluir no projeto como requirements.txt | * Pode se salvar a saída disso num arquivo para incluir no projeto como requirements.txt | ||
+ | |||
+ | =====pexpect/ | ||
+ | O pexpect é o equivalente ao programa original " | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
===== Django ===== | ===== Django ===== | ||
+ | ===== Recomendações PEP ===== |
ti_publica/dicas_python.txt · Última modificação: 2020/01/10 15:57 por cartola