Рубрики
Без рубрики

Новое в Python: подчеркивает числовые литералы

Получите практические, реальные навыки Python на наших ресурсах и пути

Автор оригинала: Mike Driscoll.

Python 3.6 добавил некоторые интересные новые функции. Тот, на котором мы будем смотреть в этой статье, из PEP 515: подчеркивает числовые литералы Отказ Как название PEP подразумевает, это в основном дает вам возможность писать длинные номера с подчерками, где нормально будет. Другими словами, 1000000 Теперь можно написать как 1_000_000 Отказ Давайте посмотрим на несколько простых примеров:

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

Первый пример просто показывает, как Python интерпретирует большое количество с подчеркиванием в нем. Вторым примером демонстрирует, что теперь мы можем дать Python String Formatter, «_» (подчеркивание), на месте запятой. Результаты говорят сами за себя.

Числовые литералы, которые включают подчеркивания, ведут себя так же, как обычные цифровые литералы при выполнении расчетов:

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

Документация Python и PEP также упоминают, что вы можете использовать подчеркивание после любого базового спецификатора. Вот несколько примеров, взятых от PEP и документации:

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

Есть несколько заметок о подчерком, которые необходимо упомянуть:

  • Вы можете использовать только один подчеркивающий подчеркивание, и он должен быть между цифрами и после любого базового спецификатора
  • Ведущие и конечные подчеркивания не допускаются

Это своего рода веселая новая особенность в Python. Пока у меня лично нет никаких случаев для этого в моей нынешней работе, надеюсь, у вас будет один у вас.