我经常使用 python 解释器进行快速数值计算,并希望使用指数表示法等自动打印所有数值结果。有没有办法为整个会话设置这个?
例如,我想要:
>>> 1.e12
1.0e+12
not:
>>> 1.e12
1000000000000.0
创建一个 Python 脚本,无论你想要什么名称(比如mystartup.py
)然后设置环境变量PYTHONSTARTUP
到该脚本的路径。然后,Python 将在交互式会话启动时加载此脚本(但在运行脚本时不会加载)。在此脚本中,定义一个与此类似的函数:
def _(v):
if type(v) == type(0.0):
print "%e" % v
else:
print v
然后,在交互式会话中:
C:\temp>set PYTHONSTARTUP=mystartup.py
C:\temp>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。太棒了,您可以使用以下命令设置您想要的数字格式result_display.when_type(some_type)(my_print_func)
(请参阅 IPython 网站或搜索有关如何使用它的更多详细信息)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)