Спецификаторы формата для целых чисел.
Начинаются с символа двоеточия (:)
Далее следует пара необязательных символов:
- символ заполнителя (который не может быть правой фигурной скобкой } )
- символ выравнивания:
"<" - по левому краю
"^" - по центру
">" - по правому краю
"=" - указывающий на необходимость заполнять пространство между знаком числа и первой значащей цифрой.
Далее следует необязательный символ знака числа:
"+" - говорит об обязательной необходимости вывода знака числа
"-" - знак выводится только для отрицательных чисел
" " - для положительных чисел вместо знака выводить пробел, для отрицательных чисел знак "-"
Далее следует значение минимальной ширины поля вывода.
(Для целых чисел невозможно определить максимальную ширину поля вывода, потому что это может повлеч
необходимость отсечения значащих цифр цисла и вывод числа не имеющего смысла.
Рассмотрим некоторые примеры:
print("{0:0=12}".format(8749203))
print("{0:0=12}".format(-8749203))
print("{0:012}".format(8749203))
print("{0:012}".format(-8749203))
> 000008749203
-00008749203
000008749203
-00008749203
В первых двух примерах 0 определяется как символ заполнитель,
которым заполняется пространство между знаком числа и первой значащей цифрой.
Во вторых двух примерах определяется минимальная ширина поля вывода 12 символов и признак необходимости дополнения нулями.
Управление выравниванием:
print("{0:*<15}".format(18340427))
> 18340427*******
print("{0:*>15}".format(18340427))
> *******18340427
print("{0:*^15}".format(18340427))
> ***18340427****
print("{0:*^15}".format(-18340427))
> ***-18340427***
Управление выводом знака числа:
пробел или знак "-"
print("[{0: }][{1: }]".format(539802, -539802))
> [ 539802][-539802]
знак выводится принудительно
print("[{0:+}][{1:+}]".format(539802, -539802))
> [+539802][-539802]
знак "-" выводится только принеобходимости
print("[{0:-}][{1:-}]".format(539802, -539802))
> [539802][-539802]
Если число должно выводиться в системе исчисления, отличной от десятичной,
необходимо указать символ типа системы исчисления.
b - для двоичной
o - для восьмеричной
x - для шестнадцатеричной с символами в нижнем регистре
X - для шестнацатеричной с символами в верхнем регистре
d - для десятичной
Использование символов управления типом:
print("{0:b} {0:o} {0:x} {0:X} {0:d}".format(14613198))
> 110111101111101011001110 67575316 deface DEFACE 14613198
если перед символом типа поставить символ "#"
то вывод будет выглядеть с указанием системы исчисления:
print("{0:#b} {0:#o} {0:#x} {0:#X} {0:#d}".format(14613198))
> 0b110111101111101011001110 0o67575316 0xdeface 0XDEFACE 14613198
Существует еще один символ типа:
c - означает что должен выводиться символ unicode соответствующий целому числу.
print("{0:#c}".format(1288))
> Ԉ
И последний символ управления форматом вывода:
n - когда реобходимо обеспечить вывод чисел с учетом региональных настроек.
он доступен также для чисел с плавающей точкой
Он имеет то же действие что и d в случае целых чисел
или g в случае вывода чиселс плавающей точкой.
Отличительной особенностью символа n является то, что он учитывает региональные настройки,
т.е. использует характерный для текущего региона символ-разделитель целой и дробной части числа
и разделитель разрядов.
Регион, используемый по умолчанию, называется "С" и для этого региона в качестве разделителя
целой и дробной части числа используется точка, а в качестве разделителя разрядов - пустая строка.
Чтобы иметь возможность принимать во внимание региональные настройки пользователя,
в начале программы в качестве двух первых выполняемых инструкций можно добавить следующие две строки:
import locale
locale.setlocale(locale.LC_ALL, "")
Передавая пустую строку в качестве названия региона, мы тем самым предлагаем интерпретатору
попытаться автоматически определить регион пользователя, путем определения переменной окружения LANG.
import locale
locale.setlocale(locale.LC_ALL, "")
x, y = (1234567890, 1234.56)
print("{0:n} {1:n}".format(x,y))
> 1 234 567 890 1 234,56
import locale
locale.setlocale(locale.LC_ALL, "C")
x, y = (1234567890, 1234.56)
print("{0:n} {1:n}".format(x,y))
> 1234567890 1234.56
import locale
locale.setlocale(locale.LC_ALL, "en_US.UTF-8")
x, y = (1234567890, 1234.56)
print("{0:n} {1:n}".format(x,y))
> 1,234,567,890 1,234.56
import locale
locale.setlocale(locale.LC_ALL, "de_DE.UTF-8")
x, y = (1234567890, 1234.56)
print("{0:n} {1:n}".format(x,y))
> 1.234.567.890 1.234,56
Символ n очень удобно использовать с целыми числами, но при выводе чисел с плавающей точкой он имеет ограниченное применение,
потому что большие вещественные числа выводятся в экспоненциальной форме.
Начинаются с символа двоеточия (:)
Далее следует пара необязательных символов:
- символ заполнителя (который не может быть правой фигурной скобкой } )
- символ выравнивания:
"<" - по левому краю
"^" - по центру
">" - по правому краю
"=" - указывающий на необходимость заполнять пространство между знаком числа и первой значащей цифрой.
Далее следует необязательный символ знака числа:
"+" - говорит об обязательной необходимости вывода знака числа
"-" - знак выводится только для отрицательных чисел
" " - для положительных чисел вместо знака выводить пробел, для отрицательных чисел знак "-"
Далее следует значение минимальной ширины поля вывода.
(Для целых чисел невозможно определить максимальную ширину поля вывода, потому что это может повлеч
необходимость отсечения значащих цифр цисла и вывод числа не имеющего смысла.
Рассмотрим некоторые примеры:
print("{0:0=12}".format(8749203))
print("{0:0=12}".format(-8749203))
print("{0:012}".format(8749203))
print("{0:012}".format(-8749203))
> 000008749203
-00008749203
000008749203
-00008749203
В первых двух примерах 0 определяется как символ заполнитель,
которым заполняется пространство между знаком числа и первой значащей цифрой.
Во вторых двух примерах определяется минимальная ширина поля вывода 12 символов и признак необходимости дополнения нулями.
Управление выравниванием:
print("{0:*<15}".format(18340427))
> 18340427*******
print("{0:*>15}".format(18340427))
> *******18340427
print("{0:*^15}".format(18340427))
> ***18340427****
print("{0:*^15}".format(-18340427))
> ***-18340427***
Управление выводом знака числа:
пробел или знак "-"
print("[{0: }][{1: }]".format(539802, -539802))
> [ 539802][-539802]
знак выводится принудительно
print("[{0:+}][{1:+}]".format(539802, -539802))
> [+539802][-539802]
знак "-" выводится только принеобходимости
print("[{0:-}][{1:-}]".format(539802, -539802))
> [539802][-539802]
Если число должно выводиться в системе исчисления, отличной от десятичной,
необходимо указать символ типа системы исчисления.
b - для двоичной
o - для восьмеричной
x - для шестнадцатеричной с символами в нижнем регистре
X - для шестнацатеричной с символами в верхнем регистре
d - для десятичной
Использование символов управления типом:
print("{0:b} {0:o} {0:x} {0:X} {0:d}".format(14613198))
> 110111101111101011001110 67575316 deface DEFACE 14613198
если перед символом типа поставить символ "#"
то вывод будет выглядеть с указанием системы исчисления:
print("{0:#b} {0:#o} {0:#x} {0:#X} {0:#d}".format(14613198))
> 0b110111101111101011001110 0o67575316 0xdeface 0XDEFACE 14613198
Существует еще один символ типа:
c - означает что должен выводиться символ unicode соответствующий целому числу.
print("{0:#c}".format(1288))
> Ԉ
И последний символ управления форматом вывода:
n - когда реобходимо обеспечить вывод чисел с учетом региональных настроек.
он доступен также для чисел с плавающей точкой
Он имеет то же действие что и d в случае целых чисел
или g в случае вывода чиселс плавающей точкой.
Отличительной особенностью символа n является то, что он учитывает региональные настройки,
т.е. использует характерный для текущего региона символ-разделитель целой и дробной части числа
и разделитель разрядов.
Регион, используемый по умолчанию, называется "С" и для этого региона в качестве разделителя
целой и дробной части числа используется точка, а в качестве разделителя разрядов - пустая строка.
Чтобы иметь возможность принимать во внимание региональные настройки пользователя,
в начале программы в качестве двух первых выполняемых инструкций можно добавить следующие две строки:
import locale
locale.setlocale(locale.LC_ALL, "")
Передавая пустую строку в качестве названия региона, мы тем самым предлагаем интерпретатору
попытаться автоматически определить регион пользователя, путем определения переменной окружения LANG.
import locale
locale.setlocale(locale.LC_ALL, "")
x, y = (1234567890, 1234.56)
print("{0:n} {1:n}".format(x,y))
> 1 234 567 890 1 234,56
import locale
locale.setlocale(locale.LC_ALL, "C")
x, y = (1234567890, 1234.56)
print("{0:n} {1:n}".format(x,y))
> 1234567890 1234.56
import locale
locale.setlocale(locale.LC_ALL, "en_US.UTF-8")
x, y = (1234567890, 1234.56)
print("{0:n} {1:n}".format(x,y))
> 1,234,567,890 1,234.56
import locale
locale.setlocale(locale.LC_ALL, "de_DE.UTF-8")
x, y = (1234567890, 1234.56)
print("{0:n} {1:n}".format(x,y))
> 1.234.567.890 1.234,56
Символ n очень удобно использовать с целыми числами, но при выводе чисел с плавающей точкой он имеет ограниченное применение,
потому что большие вещественные числа выводятся в экспоненциальной форме.