Ich gehe davon aus, dass Sie im interaktiven Python-Interpreter sind, und dass Sie _
nicht tatsächlich verwendet haben, um seinen Wert zu widerspiegeln! Wenn Sie dies getan haben, ist die Ausgabe Ihres Funktionsaufrufs verloren gegangen.
Wenn Sie zuvor noch nichts geantwortet haben, aber zuvor _
gebunden haben, dann ist dies ein neuer globaler Shadowing, der den interaktiven Interpreter integriert, der Ihre Funktionsausgabe erfasst hat.
Verwenden del _
es zu entfernen und den eingebauten, zeigt, dass noch Ihre Funktion Ausgang halten:
>>> del _
>>> output = _
Das funktioniert, weil die eingebauten in _
Namen immer auf das letzten Ausdruck Ergebnis gebunden ist, unabhängig davon, wobei eine globale _
:
>>> _ = 'foo'
>>> 1 + 1 # an expensive operation!
2
>>> del _
>>> _
2
Wenn Sie IPython verwenden, dann können Sie alle Ergebnisse zugreifen, indem ihre Ausgangsnummer; Wenn ein Ergebnis mit Out[42]
vorne angezeigt wird, verwenden Sie _42
, um auf das zwischengespeicherte Ergebnis zuzugreifen.
Siehe [diese Antwort] (http://stackoverflow.com/a/200045/2781698). Das funktioniert nur, wenn Sie in einer interaktiven Shell sind (wie zB iPython) – Mathias711
Das ist eine großartige Antwort, aber leider ist sie nicht auf der interaktiven Shell verfügbar, die ich verwende :-( – emac
@emac: dann verwenden Sie das normale Python interactive shell, nicht IPython (was ist die Antwort auf diese Frage?) –