本文介绍了如何在Python解释器中控制数字格式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我经常使用python解释器进行快速的数值计算,并希望使用指数表示法自动打印所有的数值结果。是否可以在整个会话中设置此设置?

例如,我希望:

>>> 1.e12
1.0e+12

不是:

>>> 1.e12
1000000000000.0

Python

创建一个推荐答案脚本,命名为您想要的任何名称(比如mystartup.py),然后将环境变量PYTHONSTARTUP设置为该脚本的路径。然后,Python将在启动交互式会话时(但不是在运行脚本时)加载此脚本。在此脚本中,定义类似以下内容的函数:

def _(v):
    if type(v) == type(0.0):
        print "%e" % v
    else:
        print v

然后,在交互式会话中:

C:	emp>set PYTHONSTARTUP=mystartup.py

C:	emp>python
ActivePython 2.5.2.2 (ActiveState Software Inc.) based on
Python 2.5.2 (r252:60911, Mar 27 2008, 17:57:18) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> _(1e12)
1.000000e+012
>>> _(14)
14
>>> _(14.0)
1.400000e+001
>>>

当然,您可以定义要调用的任何函数,并且可以根据需要精确地工作。

使用IPython会比使用IPython更好。它非常棒,您可以使用result_display.when_type(some_type)(my_print_func)设置您想要的数字格式(有关如何使用它的更多详细信息,请参阅IPython站点或搜索)。

这篇关于如何在Python解释器中控制数字格式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-16 18:45