Python 2.7: nenhuma documentação encontrada ao digitar help ('print')

3

Acabei de instalar o Python 2.7 e o Python 3.2 no meu Ubuntu 12.04 (32 bits).

sudo apt-get install python python-doc python3 python3-doc

Eu abri um shell do Python 3 (é assim chamado) digitando python3 de um terminal. Se eu emitir o comando help('print') , tudo funciona bem e eu posso ler a documentação.

No entanto, se eu abrir um shell do Python 2.7 ( python de um terminal) quando eu digitar help('print') , recebo a seguinte mensagem:

no documentation found for 'print'

Como posso usar a documentação do Python 2.7 também?

    
por lucacerone 20.12.2012 / 13:10

2 respostas

3

Isso parece um bug do Python 2 como algo como help("dir") funciona corretamente. Provavelmente não funciona porque print é uma palavra-chave especial, ao contrário do Python 3. Ative o Python 3 ou execute o seguinte comando em vez de help("print") :

help("__builtin__.print")
    
por Lekensteyn 20.12.2012 / 15:02
1

Essa documentação é sempre instalada, porque está incorporada nos arquivos de origem. O comando especificado não funciona porque em python2.7 print é tanto uma instrução quanto uma função, então pode estar confundindo a função help .

Se você usar, por exemplo, help('os') ou help("if") , deverá obter as informações corretas:

$ python -c "help('if')"
The ''if'' statement
********************

The ''if'' statement is used for conditional execution:

   if_stmt ::= "if" expression ":" suite
               ( "elif" expression ":" suite )*
               ["else" ":" suite]

It selects exactly one of the suites by evaluating the expressions one
by one until one is found to be true (see section *Boolean operations*
for the definition of true and false); then that suite is executed
(and no other part of the ''if'' statement is executed or evaluated).
If all expressions are false, the suite of the ''else'' clause, if
present, is executed.

Portanto, a documentação está instalada e esse comportamento que você vê deve ser um bug.

    
por Salem 20.12.2012 / 15:08