New in Python:数字字面量中的下划线

发布于 2025-01-04 01:42:21 字数 1391 浏览 11 评论 0

Python 3.6 新增了一些有趣的功能. 本文要说的这项功能脱胎于 PEP 515: Underscores in Numeric Literals . 正如其名所言,它允许你在写一个很长的数字时用下划线(代替常用的逗号) 来进行分段. 即是说, 1000000 现在可以写成 1_000_000 了. 下面来看一些简单的例子:

>>> 1_234_567
1234567
>>>'{:_}'.format(123456789)
'123_456_789'
>>> '{:_}'.format(1234567)
'1_234_567'

第一个例子展示了 Python 是如何解释用下划线分段过的数字的. 第二个例子说明了我们不仅可以使用逗号,还能使用“_” (下划线) 来将数字格式化成字符串了. 其效果不言自明。

在进行数学运算时,有没有下划线分段都一样:

>>> 120_000 + 30_000
150000
>>> 120_000 - 30_000
90000

Python 文档和 PEP 同时也有说明,你可以用下划线对任意进制的数字进行分段. 下面摘抄一些例子:

>>> flags = 0b_0011_1111_0100_1110
>>> flags
16206
>>> 0x_FF_FF_FF_FF
4294967295
>>> flags = int('0b_1111_0000', 2)
>>> flags
240

使用下划线对数字分段时需要注意以下几点:

  • 你只能使用单下划线进行分段,而且它的位置必须在数字之间,在进制说明符之后
  • 下划线不能出现在数字的首部和尾部

这真是一项有趣的新功能. 我本人目前是用不倒这个功能,希望对你用吧。

原文地址: http://www.blog.pythonlibrary.org/2017/01/11/new-in-python-underscores-in-numeric-literals/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

文章
评论
28 人气
更多

推荐作者

笑脸一如从前

文章 0 评论 0

mnbvcxz

文章 0 评论 0

真是无聊啊

文章 0 评论 0

旧城空念

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文