如何控制 python 解释器中的数字格式?

2023-12-12

我经常使用 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(使用前将#替换为@)

如何控制 python 解释器中的数字格式? 的相关文章

随机推荐

  • 如何关闭 FBWebDialogs

    如何以编程方式关闭 FBWebDialogs 我已经看过所有文档和堆栈溢出问题 但似乎没有办法做到这一点 这不可能吧 所以我找到了一种 hacky 方法来做到这一点 此代码将以编程方式触发关闭按钮 TouchUpInside 从而关闭对话框
  • 在Python中读取Fortran的默认输出[重复]

    这个问题在这里已经有答案了 我有 Fortran 77 中旧代码的输出 输出是用 write NUM 线 基本上 默认格式 以下是部分输出 1 25107598E 67 1 89781536E 61 1 28064971E 94 5 857
  • 如何使用.NET core 3.1为任何请求的HTTP客户端设置默认代理?

    我正在使用 interfax api dll 向用户发送传真 如何添加代理服务器配置以将传真发送给用户 实际上我想在 net core 中启用代理服务器设置 最好的方法是什么 问题似乎不在于 interfax api 这可以通过向 net
  • 无法在 mac 上导入 gi 模块 python 3.6

    我正在使用 python 3 6 在 mac 上集成 gstreamer 和 pocketsphinx 然而 第一行代码 从 gi 导入 pygtkcompat 引发错误 命令 python3 demoapp chinese py retu
  • 设计类别、子类别和相关书籍的数据库

    我知道对于与我所问的问题类似的几个问题已经有了一些答案 但他们的方法看起来并不令人信服 我的问题是如何为可以包含书籍的类别和也可以包含书籍的子类别构建数据库 我已经设计了一个数据库 但不相信这种方法 因此 如果有经验的人给我一些建议或改进或
  • 如何在 iPhone 上更长时间地显示启动画面?

    如何在 iPhone 上显示比默认时间更长的启动屏幕 阅读 Apple iPhone 人机界面指南 HIG 启动画面 不应该用于品牌推广或显示徽标 它应该看起来像应用程序的默认状态 因此它看起来可以快速启动 让它在那里停留更长时间将违反 H
  • 从 C 中的 char 数组获取数字值

    我有这个字符数组 char movimiento L30 G10 L50 G 45 L 10 G50 我想获取字母后面的数字的值 L 并将它们存储到整数变量中以供以后使用 eg 30 50 10 我尝试过这样做 因为 ASCII 代码数字从
  • CSS 边距计算

    虽然我在理论上确实了解整个 CSS 盒子模型 如填充 边框 边距 但我的理解仅限于这些单独的部分 我经常对浏览器实际上如何呈现它感到困惑 例如 就像padding是在边框之内一样 但是margin是如何计算的呢 是相对于盒子边框还是相对于屏
  • 如何使用 NativeActivity 写入内部存储文件系统?

    我正在将纯 C 游戏移植到 Android 由于我的目标是 Android 3 0 平板电脑 因此我选择使用 NativeActivity 以完全避免使用 Java 但是 我看不到任何允许我写入设备内部存储的功能 对 fopen 的调用将失
  • JAXB 列出根元素中的名称空间(-> 每个元素)

    默认情况下 jaxb 2 在编组期间列出根元素中的所有 所有可能需要的 命名空间 有没有办法在每个元素而不是根元素中描述名称空间 它还解决了 不必要的名称空间 的问题 这对我来说也很重要 任何建议表示赞赏 None
  • 如何通过PHP抓取需要POST数据的网站?

    我正在尝试抓取一个接受 POST 数据的网站以返回正确的页面 无 POST 则返回 15 个结果 有 POST 数据则返回所有结果 目前我的代码如下所示 curl curl init curl setopt curl CURLOPT URL
  • java.lang.IllegalStateException:无法在父级或祖先上下文中找到 android:onClick 属性的方法

    我正在尝试添加 onClick 方法front 到我的按钮 但是 当我单击按钮时 它返回此错误 java lang IllegalStateException Could not find method front View in a pa
  • 如何将应用程序片段设置为仅纵向模式?

    我有一个 Android 应用程序 它有一个主要活动和 3 个选项卡片段 我希望应用程序始终保持纵向模式 但我似乎无法正常工作 这是我尝试过的 根据另一篇堆栈溢出帖子 但我不确定我做错了什么 如果使用片段 它是否需要有所不同
  • IntelliJ IDEA:如何将项目库与pom.xml中的依赖项同步?

    当我更改项目 具有多个模块 的 pom xml 之一中的依赖项版本时 我会在项目结构的 库 部分中看到新版本和旧版本 例如 最近我将Drools从5 4版本更改为5 5版本 当我进入 库 部分时 我看到了这两个库 因此我手动删除了 5 4
  • SSL 操作失败,代码 1:dh 密钥太小

    我正在通过 SSL 连接到我的数据库 Google Cloud SQL 我使用 codeigniter 3 0 来执行此操作 尽管 mysqli 驱动程序进行了一些修改以允许此功能 几个月来一直运作良好 然而它just开始返回此警告 Mes
  • 无法从“浮动”转换?浮

    我有这个代码 public float InputCutOffFrequency get set fc public float InputF1 get set public float InputF2 get set public flo
  • 将 Google 地图 v2 转换为 google 地图 v3

    我的网站当前正在运行 Google 地图 API v2 我想转换为新的 Google 地图 API v3 下面的代码需要做哪些修改 最近收到一条消息 说v2被禁用了 所以我需要用当前功能修改现有脚本
  • EnumDataTypeAttribute 应该在使用实体框架的 .NET 4.0 中正常工作吗?

    我有一个枚举 我想将其作为某种值保留到底层数据库中 以便我可以来回调用它 我读过一些文章 建议创建一个枚举包装器 其中定义了静态隐式运算符 并使用 ComplexType 对象映射进行映射 如下面的链接所述 如何在 EF4 中伪造枚举 这个
  • 让 AppleScript 填写表单

    我遇到的问题让我生病了 我正在研究一个苹果脚本 它会引发填写表单的操作 我认为我在等待网站 100 加载时遇到了问题 该脚本激活站点但不填写表单 请引导我并帮助制定这个懒惰的脚本 tell application Safari set lo
  • 如何控制 python 解释器中的数字格式?

    我经常使用 python 解释器进行快速数值计算 并希望使用指数表示法等自动打印所有数值结果 有没有办法为整个会话设置这个 例如 我想要 gt gt gt 1 e12 1 0e 12 not gt gt gt 1 e12 100000000