2012-10-26 11 views
6

Eventuali duplicati:
Inconsistency in python help(‘string’) versus help(list)?Perché la guida (42) funziona ma non aiuta ("") né aiuta ("x")?

Nella shell interattiva di Python, se di tipo I help(42) ho tutte le informazioni su Int oggetti. Se digito help("") non ottengo nulla e se digito help("x") ottengo "nessuna documentazione trovata per Python x" ".

So che posso digitare help(str), ma mi piacerebbe capire perché gli altri due funzionano in modo diverso da help(42)?

+5

solo un'ipotesi: secondo wikipedia, il numero 42 ha ricevuto notevole attenzione nella cultura popolare come risultato della sua apparizione centrale nella Guida galattica per gli autostoppisti come la "Risposta alla domanda finale della vita, dell'universo, e Qualunque cosa". – gefei

+3

help (1) funziona anche :) – szabgab

+4

quando tutto fallisce, leggi il documento: http://docs.python.org/library/functions.html#help – mjv

risposta

9

Vedi the documentation on the help function:

Se non viene dato alcun argomento, il sistema di aiuto interattivo inizia sulla console interprete. Se l'argomento è una stringa, la stringa viene cercata come nome di un modulo, funzione, classe, metodo, parola chiave o argomento di documentazione e una pagina di aiuto viene stampata sulla console. Se l'argomento è un qualsiasi altro tipo di oggetto, viene generata una pagina di aiuto sull'oggetto.

In altre parole, quando a help viene assegnata una classe o un tipo, restituisce l'aiuto su tale classe o tipo.

class C: pass 
help(C) 

Quando help è dato qualsiasi istanza diverso da una stringa, come help(1), fornisce la documentazione sul tipo di quella variabile (int, float o una classe definita).

help(1) 
help(C()) 

Quando viene somministrato una stringa, fornisce la documentazione sul tipo o classe che quella stringa riferisce. Se si vuole aiutare con la classe str in sé, si può fare:

help(str) 

o

help("str") 
3

Dal Python documentation:

aiuto ([oggetto])

Richiama il sistema di aiuto integrato. (Questa funzione è intesa per l'uso interattivo di .) Se non viene fornito alcun argomento, il sistema di guida interattivo si avvia sulla console dell'interprete. Se l'argomento è una stringa, quindi la stringa viene cercata come nome di un modulo, funzione, classe, argomento metodo, parola chiave o documentazione e una pagina di aiuto viene stampata su console . Se l'argomento è un qualsiasi altro tipo di oggetto, viene generata una pagina di aiuto sull'oggetto.

Quindi il comportamento è diverso solo se l'argomento di help() è una stringa.

Problemi correlati