设置ipython的默认科学记数法阈值

时间:2013-05-31 22:10:00

标签: python printing formatting ipython output

如何修改python决定以科学记数法打印的点?

E.g。我希望用科学记数法打印所有> 1e4< 1e-4

好:

In [11]: 5e20
Out[11]: 5e+20

为:

In [12]: 5e10
Out[12]: 50000000000.0

2 个答案:

答案 0 :(得分:12)

在IPython中你可以使用

%precision %.4g

这将打印浮点值,其绝对值是&lt;科学记数法中的1e-4或&gt; = 1e4。

您可以在IPython API Docs中找到有关%precision命令的更多信息。 对于字符串格式化选项,请查看Python Docs

答案 1 :(得分:0)

实际上它与IPython无关,因为它只是调用__str__。遗憾的是,作为内置类型的float是用C实现的,你不能用monkeypatch C类型。因此,您唯一的选择是在cpython中修改__str__实现,或者修改IPython比仅调用__str__更聪明。