Автор оригинала: 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. Пока у меня лично нет никаких случаев для этого в моей нынешней работе, надеюсь, у вас будет один у вас.