Python — функция форматирования format
Начиная с Python 2.6, была добавлена новая функция форматирования строкstr.format(), которая расширяет возможности форматирования строк.
Базовый синтаксис — использовать{}и:для замены предыдущего% 。
Функция format может принимать неограниченное количество аргументов, и их позиции не обязаны быть упорядоченными.
Пример
Вы также можете задавать параметры:
Пример
Результат вывода:
网站名:Example, 地址 www.example.com 网站名:Example, 地址 www.example.com 网站名:Example, 地址 www.example.com
Вы также можете передатьstr.format()объект:
Пример
Результат вывода:
value 为: 6
Форматирование чисел
В следующей таблице показаны различные методы форматирования чисел с помощью str.format():
>>> print("{:.2f}".format(3.1415926))
3.14
| Number | Формат | Вывод | Описание |
|---|---|---|---|
| 3.1415926 | {:.2f} | 3.14 | Оставлять два знака после запятой |
| 3.1415926 | {:+.2f} | +3.14 | Оставлять два знака после запятой со знаком |
| -1 | {:-.2f} | -1.00 | Оставлять два знака после запятой со знаком |
| 2.71828 | {:.0f} | 3 | Без десятичных знаков |
| 5 | {:0>2d} | 05 | Дополнять число нулями (заполнение слева, ширина 2) |
| 5 | {:x<4d} | 5xxx | Дополнять число с помощью x (заполнение справа, ширина 4) |
| 10 | {:x<4d} | 10xx | Дополнять число с помощью x (заполнение справа, ширина 4) |
| 1000000 | {:,} | 1,000,000 | Формат числа с разделителями-запятыми |
| 0.25 | {:.2%} | 25.00% | Процентный формат |
| 1000000000 | {:.2e} | 1.00e+09 | Экспоненциальная запись |
| 13 | {:>10d} | 13 | Выравнивание по правому краю (по умолчанию, ширина 10) |
| 13 | {:<10d} | 13 | Выравнивание по левому краю (ширина 10) |
| 13 | {:^10d} | 13 | Выравнивание по центру (ширина 10) |
| 11 | '{:b}'.format(11)
'{:d}'.format(11)
'{:o}'.format(11)
'{:x}'.format(11)
'{:#x}'.format(11)
'{:#X}'.format(11) |
1011 11 13 b 0xb 0XB |
Система счисления |
^, <, >Они означают выравнивание по центру, по левому и по правому краю соответственно, за которым следует ширина,:После знака идёт символ заполнения, который может быть только одним символом. Если он не указан, по умолчанию используются пробелы.
+означает отображать перед положительными числами+, а перед отрицательными числами-; (пробел) означает добавлять пробел перед положительными числами
b, d, o, x — это двоичный, десятичный, восьмеричный и шестнадцатеричный форматы соответственно.
Кроме того, мы можем использовать фигурные скобки{}чтобы экранировать фигурные скобки, как в следующем примере:
Пример
Результат вывода:
example 对应的位置是 {0}
Другие расширения
Строка Python