2013-05-31 7 views

Antwort

11

In IPython können Sie

%precision %.4g 

dieser Punkt Gleitkommawerten drucken verwenden, die < 1e4 in wissenschaftlicher Notation oder> = 1e4 ist absoluter Wert ist.

Weitere Informationen zum Befehl %precision finden Sie in der IPython API Docs. Für String-Formatierungsoptionen schauen Sie sich die Python Docs

+0

Awesome, danke! (Anmerkung: Ich denke nicht, dass dort Zitate sein sollten). Gibt es sowieso, um dies zum Standardverhalten (oder laden Sie es jedes Mal, wenn ich Ipython ausführen)? – DilithiumMatrix

+1

Fügen Sie die Zeile 'c.InteractiveShellApp.exec_lines = ['% precision% .4g']' in der IPython-Konfigurationsdatei hinzu (oder bearbeiten Sie sie). Um die Datei zu lokalisieren, benutzen Sie 'ipython locate'. In meinem Fall war es unter '~/.ipython/profile_default/ipython_config.py' (siehe [IPython Doc] (http://ipython.org/ipython-doc/stable/config/overview.html#ipython-dir)) . Danke für die Hinweise auf die Zitate, ich werde sie entfernen :-). – zabbarob

+1

Diese Lösung scheint nicht mehr zu funktionieren (IPython 2.2.0/RHEL7/Python 2.7.5). Es wird weiterhin wissenschaftliche Notation für Werte gedruckt, die nicht die von mir geforderte Schwelle erreichen. – dg99

0

Eigentlich hat es nichts mit IPython zu tun, wie es einfach __str__ nennt. Leider ist float, ein eingebauter Typ, in C implementiert und Sie können C-Typen nicht monkeyPatch. Ihre einzigen Optionen sind also die Änderung der Implementierung __str__ in cpython oder das Patchen von IPython, um intelligenter zu sein als nur __str__ aufzurufen.

Verwandte Themen