2. Utilizando o Interpretador Python¶
2.1. Chamando o interpretador¶
The Python interpreter is usually installed as /usr/local/bin/python3.5
on those machines where it is available; putting /usr/local/bin
in your
Unix shell’s search path makes it possible to start it by typing the command:
python3.5
para o shell. [1] Como a escolha do diretório onde o interpretador está é uma opção de instalação, outros locais são possíveis; verifique com seu guru Python ou administrador do sistema local. (Por exemplo, /usr/local/python
é um local alternativo popular.)
On Windows machines, the Python installation is usually placed in
C:\Python35
, though you can change this when you’re running the
installer. To add this directory to your path, you can type the following
command into the command prompt in a DOS box:
set path=%path%;C:\python35
Digitando um caractere fim-de-arquivo (Control-D no Unix, Control-Z no Windows) diretamente no prompt força o interpretador a sair com status de saída zero. Se isso não funcionar, você pode sair do interpretador digitando o seguinte comando: quit()
.
Os recursos de edição de linha do interpretador incluem edição interativa, substituição de histórico e complemento de código, em sistemas que suportam readline. Talvez a verificação mais rápida, para ver se a edição de linha de comando é suportada, é digitando Control-P para obter o primeiro prompt do Python. Se for emitido um bip, você terá a edição da linha de comando; veja Apêndice Edição de entrada interativa e substituição de histórico para uma introdução às combinações. Se nada acontecer, ou se ^P
é ecoado, a edição da linha de comando não está disponível; você só poderá usar backspace para remover caracteres da linha atual.
O interpretador trabalha de forma semelhante a uma shell de UNIX: quando chamado com a saída padrão conectada a um console de terminal (dispositivo tty), ele lê e executa comandos interativamente; quando chamado com um nome de arquivo como parâmetro, ou com redirecionamento da entrada padrão para ler um arquivo, o interpretador irá ler e executar o script contido no arquivo.
Uma segunda forma de rodar o interpretador é python -c *comando* [arg] ...
, que executa um ou mais comandos especificados na posição comando, analogamente à opção de shell -c
. Considerando que comandos Python frequentemente têm espaços em branco (ou outros caracteres que são especiais para a shell) é aconselhável que o comando esteja dentro de aspas duplas.
Alguns módulos Python são também úteis como scripts. Estes podem ser chamados usando python -m *módulo* [arg] ...
, que executa o arquivo fonte do módulo como se você tivesse digitado seu caminho completo na linha de comando.
Quando um arquivo de script é utilizado, as vezes é útil executá-lo e logo em seguida entrar em modo interativo. Isto pode ser feito acrescentando o argumento -i
antes do nome do script.
Todas as opções de linha de comando são descritas em Linha de comando e ambiente.
2.1.1. Passagem de argumentos¶
Quando são de conhecimento do interpretador, o nome do script e demais argumentos da linha de comando da shell são acessíveis ao próprio script através da variável argv
do módulo sys
, que é uma lista de strings. Essa lista tem sempre ao menos um elemento; quando nenhum script ou argumento for passado para o interpretador, sys.argv[0]
será uma string vazia. Quando o nome do script for -
(significando entrada padrão), o conteúdo de sys.argv[0] será '-'
. Quando for utilizado -c
comando, sys.argv[0]
conterá '-c'
. Quando for utilizado -m
módulo, sys.argv[0]
conterá o caminho completo do módulo localizado. Opções especificadas após -c
comando ou -m
módulo não serão consumidas pelo interpretador mas deixadas em sys.argv
para serem tratadas pelo comando ou módulo.
2.1.2. Modo interativo¶
Quando os comandos são lidos a partir do console (tty), diz-se que o interpretador está em modo interativo. Nesse modo ele solicita um próximo comando através do prompt primário, tipicamente três sinais de maior (>>>
); para linhas de continuação do comando atual, o prompt secundário padrão é formado por três pontos (...
). O interpretador exibe uma mensagem de boas vindas, informando seu número de versão e um aviso de copyright antes de exibir o primeiro prompt:
$ python3.5
Python 3.5 (default, Sep 16 2015, 09:25:04)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Linhas de continuação são necessárias em construções multi-linha. Como exemplo, dê uma olhada nesse comando if
:
>>> the_world_is_flat = True
>>> if the_world_is_flat:
... print("Be careful not to fall off!")
...
Be careful not to fall off!
Para mais informações sobre o modo interativo, veja Modo interativo.
2.2. O interpretador e seu ambiente¶
2.2.1. Edição de Código Fonte¶
Por padrão, arquivos-fonte de Python são tratados com codificação UTF-8. Nessa codificação, caracteres de muitos idiomas no mundo podem ser usados simultaneamente em literais string, identificadores e comentários — embora a biblioteca padrão use apenas caracteres ASCII para identificadores, uma convenção que qualquer código portável deve seguir. Para exibir todos esses caracteres corretamente, seu editor deve reconhecer que o arquivo é UTF-8 e deve usar uma fonte que suporte todos os caracteres no arquivo.
It is also possible to specify a different encoding for source files. In order
to do this, put one more special comment line right after the #!
line to
define the source file encoding:
# -*- coding: encoding -*-
With that declaration, everything in the source file will be treated as having
the encoding encoding instead of UTF-8. The list of possible encodings can be
found in the Python Library Reference, in the section on codecs
.
For example, if your editor of choice does not support UTF-8 encoded files and insists on using some other encoding, say Windows-1252, you can write:
# -*- coding: cp-1252 -*-
and still use all characters in the Windows-1252 character set in the source files. The special encoding comment must be in the first or second line within the file.
Notas de rodapé
[1] | No Unix, o interpretador Python 3.x não é instalado por padrão com o executável nomeado python , então não vai conflitar com um executável Python 2.x instalado simultaneamente. |