Wenn dies zur Erkundung dient, um zu sehen, was los ist, würde ich empfehlen, sich IPython anzusehen . Dadurch werden verschiedene Verknüpfungen hinzugefügt, um eine Objektdokumentation, Eigenschaften und sogar Quellcode zu erhalten. Zum Beispiel ein "?" zu einer Funktion gibt die Hilfe für das Objekt (effektiv eine Verknüpfung für "Hilfe (obj)", wobei bei Verwendung von zwei? 's (" func??
") der Quellcode angezeigt wird, wenn er verfügbar ist.
Es gibt auch viele zusätzliche Annehmlichkeiten wie das Ausfüllen von Registerkarten, das hübsche Drucken von Ergebnissen, den Ergebnisverlauf usw., die es für diese Art der explorativen Programmierung sehr praktisch machen.
Für weitere programmatische Verwendung von Selbstbeobachtung, wie die grundlegenden builtins dir()
, vars()
, getattr
wird usw. nützlich sein, aber es lohnt sich, Ihre Zeit das zu prüfen , inspizieren Modul. Um die Quelle einer Funktion abzurufen, verwenden Sie " inspect.getsource
", z. B. und wenden Sie sie auf sich selbst an:
>>> print inspect.getsource(inspect.getsource)
def getsource(object):
"""Return the text of the source code for an object.
The argument may be a module, class, method, function, traceback, frame,
or code object. The source code is returned as a single string. An
IOError is raised if the source code cannot be retrieved."""
lines, lnum = getsourcelines(object)
return string.join(lines, '')
inspect.getargspec
ist auch häufig nützlich, wenn Sie sich mit dem Umschließen oder Bearbeiten von Funktionen befassen, da hier die Namen und Standardwerte der Funktionsparameter angegeben werden.