A Byte of Python

Die Funktion dir()

Sie können die eingebaute Funktion dir() benutzen, um die Bezeichner aufzulisten, die von einem Modul definiert werden. Die Bezeichner sind die Funktionen, Klassen und Variablen, die in dem jeweiligen Modul definiert werden.

Wenn Sie der dir-Funktion einen Modulnamen übergeben, dann gibt sie die Liste der Namen zurück, die in diesem Modul definiert werden. Wenn kein Parameter übergegeben wird, gibt sie die Liste der Namen des aktuellen Moduls zurück.

Die dir-Funktion verwenden

Beispiel 8.4. Die dir-Funktion verwenden

				
$ python
>>> import sys
>>> dir(sys) # Liste aller Attribute des sys-Moduls anzeigen
['__displayhook__', '__doc__', '__excepthook__', '__name__', '__stderr__',
'__stdin__', '__stdout__', '_getframe', 'api_version', 'argv',
'builtin_module_names', 'byteorder', 'call_tracing', 'callstats',
'copyright', 'displayhook', 'exc_clear', 'exc_info', 'exc_type',
'excepthook', 'exec_prefix', 'executable', 'exit', 'getcheckinterval',
'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding',
'getrecursionlimit', 'getrefcount', 'hexversion', 'maxint', 'maxunicode',
'meta_path','modules', 'path', 'path_hooks', 'path_importer_cache',
'platform', 'prefix', 'ps1', 'ps2', 'setcheckinterval', 'setdlopenflags',
'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout',
'version', 'version_info', 'warnoptions']
>>> dir() # Liste aller Attribute des aktuellen Moduls anzeigen
['__builtins__', '__doc__', '__name__', 'sys']
>>>
>>> a = 5 # erzeuge eine neue Variable 'a'
>>> dir()
['__builtins__', '__doc__', '__name__', 'a', 'sys']
>>>
>>> del a # loesche/entferne einen Namen
>>>
>>> dir()
['__builtins__', '__doc__', '__name__', 'sys']
>>>
				
				

So funktioniert es

Zuerst sehen wir die Anwendung von dir auf das importierte sys-Modul. Wir können die riesige Liste von Attributen sehen, die darin enthalten sind.

Als Nächstes verwenden wir die dir-Funktion, ohne ihr einen Parameter zu übergeben: Die Voreinstellung ist, dass sie die Attribute des aktuellen Moduls zurückliefert. Beachten Sie, dass die importierten Module ebenfalls Teil der Liste sind.

Um zu sehen, wie die dir-Funktion arbeitet, definieren wir eine neue Variable a, und weisen ihr einen Wert zu. Danach überprüfen wir, was sich an der Ausgabe von dir geändert hat. Wir stellen fest, dass es in der Liste ein zusätzliches Element des gleichen Namens a gibt. Wir entfernen die Variable bzw. das Attribut des Moduls mittels der Anweisung del. Als Resultat der Änderung sehen wir wieder eine entsprechende Ausgabe der dir-Funktion.

Eine Anmerkung zu del: Diese Anweisung wird benutzt, um eine Variable bzw. einen Namen zu entfernen (del steht kurz für delete). Nachdem die Anweisung ausgeführt wurde (in diesem Fall del a), können Sie nicht mehr auf die Variable a zugreifen - es ist, als hätte es sie nie gegeben.