... | ... | @@ -30,9 +30,9 @@ Funções *built-in* são funções (e estruturas de dados) que não precisam se |
|
|
|
|
|
### Bibliotecas externas
|
|
|
|
|
|
Em geral as duas categorias acima não suprem todas as necessidades que alguém pode ter de uma linguagem. As linguagens então organizam um repositório de bibliotecas que pode ser usado por qualquer um e um gerenciador de pacotes que vai cuidar do gerenciamento desses pacotes no sistema do usuário (como o *apt-get*). O repositório oficial do python é o [pypi](https://pypi.org/) e o gerenciador de pacotes é o [pip](https://pip.pypa.io/en/stable/). Qualquer pessoa pode desenvolver uma "biblioteca" e disponibilizar para que outros usem.
|
|
|
Bibliotecas externas são as que devem ser instaladas com `pip` antes de usadas. Elas não fazem parte da linguagem em si, não são mantidas pela comunidade e têm ciclos de lançamento diferente.
|
|
|
|
|
|
A qualidade dessas bibliotecas pode variar bastante pois quem publica não necessariamente vai manter o pacote atualizado ou dar manutenção. Não existe nem a garantia de que quem fez sabia o que estava fazendo, então são usadas por sua conta e risco. Em geral, use apenas bibliotecas com algum compromisso de manutenção.
|
|
|
Essas bibliotecas (ou pacotes) em geral são mantidas pelos autores e são muito menos estáveis e confiáveis do que as funções da bibliotecas padrão.
|
|
|
|
|
|
|
|
|
## Dicas
|
... | ... | @@ -56,14 +56,14 @@ A qualidade dessas bibliotecas pode variar bastante pois quem publica não neces |
|
|
- [os.path](https://docs.python.org/3/library/os.path.html) várias funções para manipular o nome e o caminho de arquivos.
|
|
|
- [json](https://docs.python.org/3/library/json.html) é um módulo para manipular o formato json que é como guardamos os resultados das análises do projeto.
|
|
|
- [unittest](https://docs.python.org/3/library/unittest.html) é a base da ferramenta de testes do django.
|
|
|
|
|
|
- [pipenv](https://docs.pipenv.org/)
|
|
|
|
|
|
|
|
|
## Dicas de ferramentas
|
|
|
|
|
|
- [IPython]
|
|
|
- [Jupyter]
|
|
|
- [PyCharm]
|
|
|
- [Coala]
|
|
|
- [IPython](https://ipython.org/) é um shell/console melhorado para python. Também se integra bem com o comando `python manage.py shell`
|
|
|
- [Jupyter Notebook](http://jupyter.org/try) é como um console web. É provavelmente a melhor ferramenta para testar funções tão complexas quanto as análises do projeto.
|
|
|
- [PyCharm](https://www.jetbrains.com/pycharm/) da JetBrains é uma [IDE](https://pt.wikipedia.org/wiki/Ambiente_de_desenvolvimento_integrado) para desenvolvimento em python. Oferece *autocomplete* de código, checagem de erros de palavras em inglês, destaca código inútil, etc. Tem a versão community mas também oferece a versão professional para estudantes (depois de algumas comprovações).
|
|
|
- [Coala](https://coala.io/) é um [lint](https://en.wikipedia.org/wiki/Lint_(software)) configurável para várias linguagens. Possui ferramentas para correção interativa de problemas.
|
|
|
|
|
|
|