2013-03-16 5 views

Antwort

9

Alle Top-Level-Globals privat eine bestimmte Namenskonvention folgenden wird unter dem Data Abschnitt von PyDoc erzeugt aufgenommen werden:

  • Alle normalen globalen Variablen werden dort angezeigt - können Sie dies einfach sehen von läuft pydoc auf einem Modul mit einigen globalen Variablen, die ansonsten leer ist.
  • "Spezielle" Namen werden angezeigt (aber nicht private Namen): Namen wie __SomeClass__ oder __a_special_variable__ werden angezeigt, aber Namen wie __this_is_private werden nicht angezeigt.
  • Named tuples werden angezeigt, ebenso wie alles, was mit dem Muster übereinstimmt, das sie angibt: Der Name des Objekts beginnt mit _ und das Objekt hat ein _fields Attribut (d. H. Es hat öffentliche Felder).

Es gibt Ausnahmen zu diesen Grundregeln; Namen in der reservierten Liste tun nicht die gleiche Behandlung erhalten:

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

PyDoc automatisch verschiedene Abschnitte für die __version__, __date__, __author__ und __credits__ bauen. Die anderen sind "redundant oder intern" (z. B. __name__ und __package__ sind ihren eigenen Abschnitten zugeordnet, aber Pydoc generiert diese Felder auch automatisch, unabhängig davon, ob Sie sie festlegen oder nicht).

All dies kann durch Durchsuchen der source gefunden werden, aber es scheint nicht zu anderen einzelnen Ort kompilieren diese Informationen - oder zumindest nicht eine, die gut in Google rangiert.