Python (Português)

Status de tradução:
Esse artigo é uma tradução de
Python
. Data da última tradução: 2020-06-21. Você pode ajudar a sincronizar a tradução, se houver
alterações
na versão em inglês.
Artigos relacionados
Diretrizes de pacotes Python
Python/Virtual environment
mod_wsgi
Django
Do
Wikipédia
:
Python é uma linguagem de programação dinâmica de alto nível, de propósito geral, interpretada e amplamente usada. Sua filosofia de design enfatiza a legibilidade do código e sua sintaxe permite que os programadores expressem conceitos em menos linhas de código do que o possível em linguagens como C++ ou Java. A linguagem fornece construções destinadas a permitir a gravação de programas claros em pequena e grande escala.
Python possui suporte a vários paradigmas de programação, incluindo programação orientada a objetos, programação imperativa e funcional ou estilos de procedimentos. Possui um sistema de tipo dinâmico e gerenciamento automático de memória e possui uma biblioteca padrão ampla e abrangente.
Instalação
Python 3
Python 3 é a versão mais recente da linguagem e é incompatível com o Python 2. A linguagem é basicamente a mesma, mas muitos detalhes, especialmente como objetos embutidos como dicionários e strings funcionam, mudaram consideravelmente e muitos recursos descontinuados finalmente foram removidos. Além disso, a biblioteca padrão foi reorganizada em alguns lugares de destaque. Para uma visão geral das diferenças, visite
Python2orPython3
e os
capítulos
relevantes no Dive into Python 3.
Para instalar a versão mais recente do Python 3,
instale
o pacote
python
.
Se você deseja criar os candidatos a lançamento(RC) ou betas mais recentes a partir do código-fonte, visite
Python Downloads
. O
Arch User Repository
também contém bons
PKGBUILDs
. Se você decidir compilar o RC, observe que o binário (por padrão) é instalado em
/usr/local/bin/python3.x
. Como alternativa que não requer permissões de superusuário e instala no diretório pessoal do usuário, considere usar
pyenv
.
Python 2
Atenção
O Python 2 chegou ao fim de sua vida útil em 1º de janeiro de 2020. Muitos pacotes ainda dependem do Python 2, mas essa versão do Python não será mais mantida. Veja:
Sunsetting Python 2
Para obter a versão mais recente do Python 2,
instale
o pacote
python2
AUR
.
O Python 2 será executado felizmente ao lado do Python 3. Você precisa especificar
python2
para executar esta versão.
Qualquer programa que exija o Python 2 precisa apontar para
/usr/bin/python2
, em vez de
/usr/bin/python
, que aponta para o Python 3. Para fazer isso, abra o programa ou script em um
editor de texto
e altere a primeira linha. A linha mostrará um dos seguintes:
#!/usr/bin/env python
ou
#!/usr/bin/python
Nos dois casos, basta alterar
python
para
python2
e o programa usará o Python 2 em vez do Python 3.
Outra maneira de forçar o uso de python2 sem alterar os scripts é chamá-lo explicitamente com
python2
:
$ python2
meuScript.py
Por fim, talvez você não consiga controlar as chamadas de script, mas existe uma maneira de enganar o ambiente. Funciona apenas se os scripts usarem
#!/usr/bin/env python
. Não funcionará com
#!/usr/bin/python
. Esse truque se baseia na pesquisa do
env
na primeira entrada correspondente na variável
PATH
.
Primeiro, crie uma pasta:
$ mkdir ~/bin
Em seguida, adicione um link simbólico
python
para
python2
e os scripts de configuração:
$ ln -s /usr/bin/python2 ~/bin/python
$ ln -s /usr/bin/python2-config ~/bin/python-config
Por fim, coloque a nova pasta
no início
da sua variável
PATH
:
$ export PATH=~/bin:$PATH
Nota
Esse método de alterar
variáveis de ambiente
não é permanente e está ativo apenas na sessão atual do terminal.
Para verificar qual interpretador Python está sendo usado por
env
, use o seguinte comando:
$ which python
Uma abordagem semelhante ao enganar o ambiente, que também depende de
#!/usr/bin/env python
a ser chamada pelo script em questão, é usar um
#Ambiente virtual
.
Implementações alternativas
As seções acima se referem à implementação de referência do Python, chamada de CPython. No entanto, também existem outras implementações disponíveis - as mais populares:
PyPy
é uma implementação Python 2.7/3.6 utilizando um compilador JIT. Geralmente é mais rápido e usa menos memória, mas não é totalmente compatível com o CPython (embora a maioria dos pacotes e códigos funcione sem alterações).
Jython
é uma implementação do Python 2.7 construída em Java. Permite fácil integração do código Python e Java, mas não é totalmente compatível com as bibliotecas do CPython. É frequentemente usado para fornecer Python como uma linguagem de script em um aplicativo Java maior.
IronPython
é uma implementação do Python 2.7 construída em .NET - atinge os mesmos objetivos que o Jython, mas para linguagens .NET (como C#/VB).
MicroPython
é uma implementação limitada do Python 3.4 direcionada a microcontroladores e outros ambientes incorporados (como UEFI), mas é incompatível com a maioria dos pacotes padrão devido a
mudanças menores de sintaxe e biblioteca padrão severamente limitada
. É frequentemente usado para criação de protótipos em ambientes incorporados (pois fornece um Python REPL).
Mais implementações estão disponíveis
, embora a maioria não seja mais mantida devido a melhorias nas mais populares.
Versões antigas
Atenção
As versões do Python anteriores ao 2.7 não recebem mais atualização — incluindo patches de segurança — desde pelo menos 2014. O uso de versões mais antigas para aplicações da Internet ou código não confiável pode ser perigoso e não é recomendado.
As versões antigas do Python estão disponíveis no
AUR
e podem ser úteis para curiosidade histórica, aplicativos antigos que não são executados nas versões atuais ou para testar programas Python destinados a serem executados em uma distribuição que vem com uma versão mais antiga:
Python 3.7:
python37
AUR
Python 3.6:
python36
AUR
Python 3.5:
python35
AUR
[
link quebrado
: package not found]
Python 3.4:
python34
AUR
[
link quebrado
: package not found]
Python 2.6:
python26
AUR
[
link quebrado
: package not found]
Python 2.5:
python25
AUR
[
link quebrado
: package not found]
Módulos/bibliotecas extras para versões antigas do Python podem ser encontrados no AUR pesquisando
python<
versão sem ponto
>
, por exemplo procurando por "python26" para módulos 2.6.
Gerenciamento de pacotes
Embora um grande número de pacotes Python esteja prontamente disponível nos
repositórios oficiais
e no
AUR
, o ecossistema Python fornece seus próprios gerenciadores de pacotes para uso com
PyPI
, o Índice de Pacotes Python:
pip
— A ferramenta do PyPA para instalar pacotes Python.
https://pip.pypa.io/
||
python-pip
,
python2-pip
AUR
setuptools
— Baixe, construa, instale, atualize e desinstale facilmente pacotes Python.
https://setuptools.readthedocs.io/
||
python-setuptools
,
python2-setuptools
AUR
Para um breve histórico e comparação de recursos entre os dois, consulte
pip vs easy_install
. As melhores práticas de autoridade no gerenciamento de pacotes Python são detalhadas
aqui
.
Se você precisa usar
pip
, use um
ambiente virtual
ou
pip install --user
para evitar conflitos com pacotes em
/usr
. É sempre preferível
usar o pacman para instalar softwares
.
Nota
Também existem ferramentas que integram
pip
com
pacman
, gerando automaticamente PKGBUILDs para pacotes pip especificados: consulte
Criando pacotes#Geradores de PKGBUILD
.
Dica
pipenv
fornece uma única CLI para
Pipfile
,
pip
e
virtualenv
. Ele está disponível como
python-pipenv
.
Ligações de widget
As seguintes ligações para
toolkit de widget
estão disponíveis:
TkInter
— Ligações para Tk
https://wiki.python.org/moin/TkInter
|| módulo padrão
pyQt
— Ligações para
Qt
https://riverbankcomputing.com/software/pyqt/intro
||
python2-pyqt4
AUR
python2-pyqt5
[
link quebrado
: package not found]
python-pyqt4
AUR
[
link quebrado
: package not found]
python-pyqt5
pySide2
— Ligações para
Qt
https://wiki.qt.io/PySide2
||
pyside2
AUR
pyside2-tools
AUR
pyGTK
— Ligações para
GTK 2
http://www.pygtk.org/
||
pygtk
AUR
PyGObject
— Ligações para
GTK 2/3
via GObject Introspection
https://wiki.gnome.org/PyGObject/
||
python2-gobject2
AUR
python2-gobject
AUR
python-gobject
wxPython
— Ligações para wxWidgets
https://wxpython.org/
||
python2-wxpython3
AUR
python-wxpython
Para usá-los com o Python, pode ser necessário instalar os kits de widgets associados.
Dicas e truques
Shells alternativos
bpython
— Interface sofisticada para o interpretador Python.
https://bpython-interpreter.org/
||
bpython
bpython2
AUR
[
link quebrado
: package not found]
IPython
— Shell Python interativo aprimorado.
https://ipython.org/
||
ipython
ipython2
AUR
[
link quebrado
: package not found]
Jupyter
Notebook
— Interface web para o IPython.
https://jupyter.org/
||
jupyter-notebook
ptpython
— Interface sofisticada para o interpretador Python baseada na interface de entrada
prompt-toolkit
.
https://github.com/jonathanslenders/ptpython
||
ptpython
AUR
Ambiente virtual
O Python fornece ferramentas para criar ambientes isolados nos quais você pode instalar pacotes sem interferir nos outros ambientes virtuais nem nos pacotes do sistema Python. Pode mudar o interpretador
python
usado para um aplicativo específica.
Veja
Python/Virtual environment
para detalhes.
Conclusão com Tab no shell do Python
Desde o Python 3.4,
conclusão com Tab
está ativado por padrão, no Python 2 você pode ativá-lo manualmente adicionando as seguintes linhas a um arquivo referenciado pela variável de ambiente
PYTHONSTARTUP
:
[1]
import rlcompleter
import readline
readline.parse_and_bind("tab: complete")
Observe que o programa de conclusão "readline" só concluirá nomes no espaço para nomes global. Você pode recorrer ao
python-jedi
para obter uma experiência mais completa de conclusão com Tab
[2]
.
Solução de problemas
Lidando com problema de versão em scripts de compilação
This article or section needs language, wiki syntax or style improvements. See
Help:Style
for reference.
Reason:
Este é um truque feio; em vez disso, explique como corrigir recursivamente shebangs com
find
e
sed
. (Discuss in
talk:Python
)
Muitos scripts de compilação de projetos supõem que
python
seja Python 2, e isso acabaria resultando em um erro — normalmente reclamando que
print 'foo'
é uma sintaxe inválida. Felizmente, muitos deles chamam
python
a partir da variável de ambiente
PATH
em vez de codificar
#!/usr/bin/python
na linha shebang, e os scripts Python são todos contido na árvore do projeto. Portanto, em vez de modificar os scripts de construção manualmente, há uma solução alternativa. Crie
/usr/local/bin/python
com conteúdo como este:
/usr/local/bin/python
#!/bin/bash
script=$(readlink -f -- "$1")
case "$script" in (/caminho/para/projeto1/*|/caminho/para/projeto2/*|/path/to/project3*)
    exec python2 "$@"
    ;;
esac

exec python3 "$@"
sendo
/path/to/project1/*|/path/to/project2/*|/path/to/project3*
uma lista de padrões separados por
|
correspondendo a todas as árvores do projeto. Para alguns scripts, o caminho pode não ser o primeiro parâmetro. Por exemplo, o Google SDK envia
-S
como o primeiro parâmetro. O comando readlink deve mudar para
script=$(readlink -f -- "$1")
.
Não se esqueça de torná-lo
executável
. Posteriormente, os scripts nas árvores de projeto especificadas serão executados com o Python 2.
Veja também
Documentação oficial do Python
O'Reilly's Learning Python, 5th edition
Dive Into Python
,
Dive Into Python3
A Byte of Python
Learn Python the Hard Way
Learn Python
Crash into Python
(presume familiaridade com outras linguagens de programação)
Beginning Game Development with Python and Pygame
comercial
Think Python
Pythonspot
OverIQ Python Tutorial
[
link inativo
2025-08-16 ⓘ]
Python Tutorial to Learn Step by Step
awesome-python
- Uma lista com curadoria de estruturas, bibliotecas, software e recursos Python.
boltons
- Trecho/receitas/trechos que seriam úteis na biblioteca padrão.