2013-03-16 11 views

risposta

9

Qualsiasi livello superiore globali privati ​​a seguito di una particolare convenzione di denominazione saranno inclusi nella sezione Data generato da pydoc:

  • tutte le variabili globali normali vengono visualizzati lì - si può vedere questo semplicemente eseguendo pydoc su un modulo con alcune variabili globali altrimenti vuote.
  • Vengono visualizzati nomi "speciali" (ma non nomi privati): verranno visualizzati nomi come __SomeClass__ o __a_special_variable__, ma nomi come __this_is_private no.
  • Named tuples vengono visualizzati, così come qualsiasi cosa che corrisponda al modello che li specifica: il nome dell'oggetto inizia con _ e l'oggetto ha un attributo _fields (cioè ha campi pubblici).

Ci sono delle eccezioni a queste regole di base; nomi nella lista riservata fanno non ottenere lo stesso trattamento:

{'__author__', '__builtins__', '__cached__', '__credits__', 
'__date__', '__doc__', '__file__', '__initializing__', 
'__loader__', '__module__', '__name__', '__package__', 
'__path__', '__qualname__', '__slots__', '__version__'} 

pydoc costruirà automaticamente sezioni distinte per il __version__, __date__, __author__ e __credits__. Gli altri sono "ridondanti o interni" (ad esempio __name__ e __package__ sono assegnati alle proprie sezioni, ma Pydoc genererà automaticamente quei campi anche se li si imposta o meno).

Tutto ciò può essere trovato sfogliando il source, ma non sembra esserci nessun altro posto singolo che compila queste informazioni - o almeno, non uno che si colloca bene in Google.

Problemi correlati