Python dir() eingebaute Funktion
Aus der Python 3 Dokumentation
Ohne Argumente gibt die Liste der Namen im aktuellen lokalen Gültigkeitsbereich zurück. Mit einem Argument wird versucht, eine Liste gültiger Attribute für dieses Objekt zurückzugeben.
Einführung
Die dir() Funktion in Python ist eine leistungsstarke eingebaute Funktion, die eine Liste von Namen im aktuellen Namensraum oder die Attribute eines gegebenen Objekts zurückgibt. Sie wird häufig verwendet, um Objekte, Module und Klassen zu introspektieren und zu untersuchen, und hilft Ihnen dabei, die verfügbaren Methoden, Attribute und Namen zu entdecken, mit denen Sie arbeiten können.
Syntax
dir([object])
object(optional): Das Objekt, dessen Attribute Sie untersuchen möchten. Wenn es nicht angegeben wird, gibt es die Namen im aktuellen Namensraum zurück.
Untersuchen von Namen im aktuellen Namensraum
a = 10
b = "Hello"
def my_function():
pass
print(dir())
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'a', 'b', 'my_function']
Untersuchen von Modulattributen
import math
print(dir(math))
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', '... ]
Untersuchen von Objektattributen
class MyClass:
def __init__(self):
self.x = 5
self.y = "Hello"
obj = MyClass()
print(dir(obj))
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', ... 'x', 'y']
Verwendung von dir() mit eingebauten Typen
my_list = [1, 2, 3]
print(dir(my_list))
[..., 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
Filtern der dir() Ausgabe
import math
print([name for name in dir(math) if not name.startswith("__")])
['acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', ... ]