Учебники

47) Формат строки Python ()

Что такое формат Python?

Функция Python format () помогает нам заменить, заменить или преобразовать строку с заполнителями с допустимыми значениями в последней строке. Заполнители внутри строки определены в фигурных скобках, например, «Welcome to Guru99 {}». Format («значение здесь»). Это встроенная функция класса string.

В этом уроке вы узнаете:

Синтаксис:

templatestring.format(val1, val2...)

параметры

val1, val2 …: Значения, которые необходимо заменить в заданной строке шаблона с заполнителями в виде фигурных скобок {}. Заполнители могут быть строкой, парой ключ / значение, целыми числами, числами с плавающей запятой, символами и т. Д.

Возвращаемое значение:

Он вернет окончательную строку с допустимыми значениями, замененными вместо заполнителей, указанных в фигурных скобках.

Заполнители

Заполнители в строке шаблона представлены в фигурных скобках, например, {}. Заполнитель может быть пустым {}, или он может иметь переменную, например, для {name}, или может иметь числовой индекс, например, {0}, {1} и т. Д.

Как работает string format ()?

Формат строки () будет сканировать исходные строки на предмет заполнителей. Заполнители могут быть пустыми фигурными скобками ({}), позиционными аргументами, т. Е. Строка может иметь заполнители с индексом 0, 1, например, {0}, {1} и т. Д.

Для ключевых аргументов имя переменной будет присутствовать в фигурных скобках, например, {name}, {age}. В случае пустых фигурных скобок значения из формата будут заменены внутри фигурных скобок в последовательности.

Первое значение будет заменено первой пустой фигурной скобкой, за которой следует следующая. Для позиционных аргументов индекс будет начинаться с 0 и так далее. Значения будут доступны в формате, разделенном запятыми, а 0- е значение будет указывать на первое значение в формате и так далее.

Для аргументов Keyword, т. Е. Когда вы используете переменную внутри ваших заполнителей, вы можете иметь порядок значений внутри нужного формата.

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

Пример: пустой заполнитель заменен строковым значением

В приведенном ниже примере строка имеет пустые фигурные скобки ({}). Значение, данное формату, будет заменено внутри фигурных скобок ({}).

Значение, которое мы хотим заменить, является строкой.

Пример:

Используя формат, мы хотим, чтобы фигурные скобки ({}) были заменены строковым значением. Значение указывается в формате («Guru99»). При выполнении фигурные скобки {} заменяются на Guru99, и вы получите окончательную строку в виде учебников Welcome to Guru99.

print ("Welcome to {} tutorials".format("Guru99"))

Вывод:

Welcome to Guru99 tutorials

Пример: пустой заполнитель заменен числовым значением

В приведенном ниже примере мы хотим, чтобы числовое значение было заменено внутри исходной строки. Вьющиеся скобки ({}) добавляются к месту, где вам нужно числовое значение. Когда он выполняется, пустые фигурные скобки ({}) заменяются числовым значением.

Пример:

Вы также можете использовать format () для вставки чисел внутри вашей строки. В этом примере показано, как заменить пустой заполнитель {} на номер 99, присутствующий в формате ().

print ("Welcome to Guru{} Tutorials".format("99")) 

Вывод:

Welcome to Guru99 Tutorials

Пример: использование аргументов переменных или ключевых слов внутри Placeholder

Также возможно использовать переменные внутри фигурных скобок, как показано в примере ниже. Переменные определены внутри format (). Поэтому, когда он выполняется, значение, присвоенное переменной, заменяется внутри исходной строки.

Пример:

Вы можете использовать переменные в фигурных скобках, например, {name} {num}. Значения переменной name и num доступны в формате, т.е. в формате (name = «Guru», num = «99»). Значения, данные name и num, будут заменены внутри {name} и {num}.

print ("Welcome to {name}{num} Tutorials".format(name="Guru", num="99"))

Вывод:

Welcome to Guru99 Tutorials

Пример: использование индексных или позиционных аргументов внутри Placeholder

Значения могут быть заменены с помощью индексов, таких как 0, 1, 2 внутри заполнителей. Значение будет выбрано в порядке от format (), как показано в примере ниже.

Пример:

print ("Welcome to {0}{1} Tutorials".format("Guru","99")) 

Вывод:

Welcome to Guru99 Tutorials

Пример: использование нескольких заполнителей внутри строки

В этом примере мы собираемся использовать несколько пустых заполнителей.

Пример:

Строка, используемая в примере, имеет несколько пустых заполнителей, и каждый заполнитель будет ссылаться на значение внутри format (). Первое значение будет заменено для первого заполнителя и так далее.

print ("{} is {} new kind of {} experience!".format("Guru99", "totally","learning"))

Вывод:

Guru99 is a new kind of learning experience

Форматирование внутри заполнителей

Вы видели, что можно использовать Placeholder как пустой, с переменной или индексом. Также возможно, что вы можете применить некоторое форматирование внутри Placeholder.

Вот список форматов

Формат Описание пример
: д Это даст вывод в десятичном формате при использовании внутри заполнителя
print("The binary to decimal value is : {:d}".format(0b0011))

Вывод:

The binary to decimal value is  : 3
: б Это даст вывод в двоичном формате при использовании внутри заполнителя
print("The binary value is : {:b}".format(500))

Вывод:

The binary value is : 111110100
: е Это даст вывод в научном формате при использовании внутри заполнителя, показатель е в выводе будет строчным.
print("The scientific value is : {:e}".format(40))

Вывод:

The scientific format value is : 4.000000e+01
: E Это даст вывод в научном формате при использовании внутри заполнителя, показатель Е в выводе будет в верхнем регистре
print("The scientific value is : {:E}".format(40))

Вывод:

The scientific value is : 4.000000E+01
: е Это выведет числовой формат с фиксированной точкой. По умолчанию вы получите вывод любого числа с шестью десятичными знаками. Если вам нужно до 2 десятичных знаков, используйте его как. 2f т.е. точка (.) перед 2f
print("The value is  : {:f}".format(40))

Вывод:

The value is  : 40.000000

Пример: вывод результата до 2 десятичных знаков.

print("The value is  : {:.2f}".format(40))

Вывод:

The value is: 40.00
: о Это выведет восьмеричный формат
print("The value is  : {:o}".format(500))

Вывод:

The value is  : 764
:Икс Это выведет шестнадцатеричный формат в нижнем регистре
print("The value is  : {:x}".format(500))

Вывод:

The value is  : 1f4
:ИКС Это выведет шестнадцатеричный формат в верхнем регистре.
print("The value is  : {:X}".format(500))

Вывод:

The value is  : 1F4
: п Это выведет числовой формат.
print("The value is  : {:n}".format(500.00))

Вывод:

The value is  : 500
:% Это даст вывод в процентном формате. По умолчанию это даст 6 знаков после запятой для вывода в процентах, в случае, если вам не нужно десятичное значение, вы можете использовать точку с 0, т.е. (: .0%).
print("The value is  : {:%}".format(0.80))

Вывод:

The value is  : 80.000000%

В этом примере показано, как пропустить десятичные разряды, используя {: .0%} внутри заполнителя.

print("The value is  : {:.0%}".format(0.80))

Вывод:

The value is: 80% 
: _ Это выведет подчеркивание как разделитель тысяч. Это доступно из питона 3.6+.
print("The value is   {:_}".format(1000000))

Вывод:

The value is  : 1_000_000
:, Это выведет запятую как разделитель тысяч
print("The value is  : {:,}".format(1000000))

Вывод:

The value is  : 1,000,000

Запятая (,) добавляется как разделитель тысяч, как показано в выводе.

: Это добавит пробел перед любыми положительными числами В этом примере показано, как добавить пробел или отступ перед заданным числом. Число 5 указывает количество мест, которое вы хотите до номера.

print("The value is: {:5}".format(40))

Вывод:

The value is:    40
: — Это добавит знак минус перед отрицательными числами В примере показано, как получить вывод со знаком минус (-) перед числом, используя {: -}.

print("The value is: {:-}".format(-40))

Вывод:

The value is: -40
: + Вы можете использовать знак плюс, чтобы указать, что число положительное В примере показано, как получить выходные данные со знаком плюс (+) перед числом, используя {: +}.

print("The value is: {:+}".format(40))

Вывод:

The value is: +40
знак равно Равенство используется для размещения знака +/- с левой стороны. В примере показано, как получить выходные данные со знаком плюс (+/-) перед знаком равенства, используя {: =}.

print("The value is {:=}".format(-40))

Вывод:

The value is -40
: ^ Это выровняет конечный результат по центру В примере показано использование {: ^} для выравнивания текста по центру. Число 10 используется для добавления 10 пробелов, чтобы показать выравнивание по центру при замене значения.

print("The value {:^10} is positive value".format(40))

Вывод:

The value     40     is a positive value

Здесь вы можете использовать 10, что добавит 10 пробелов в окончательном тексте, а значение, подлежащее замене, будет выровнено по центру между 10 пробелами. Пробелы 10 добавляются только для того, чтобы показать выравнивание по центру заменяемого значения.

:> Это выровняет окончательный результат Пробел 10 добавляется с помощью (:> 10), а заменяемое значение выравнивается по правому краю.

print("The value {:>10} is positive value".format(40))

Вывод:

The value         40 is positive value
< Это выровняет окончательный результат Пробел 10 добавляется с помощью (: <10), а заменяемое значение выравнивается по левому краю.

print("The value {:<10} is positive value".format(40))

Вывод:

The value 40         is positive value

Использование класса с форматом ()

В этом примере мы создаем класс и используем объект класса внутри формата. Заполнители будут ссылаться на свойства класса или члены, используя объект класса.

Пример:

Класс вызывается внутри формата (c = MyClass ()). Объект c будет иметь ссылку на свойства и методы внутри класса MyClass ().

class MyClass:
    msg1="Guru"
    msg2="Tutorials"   

print("Welcome to {c.msg1}99 {c.msg2}!".format(c=MyClass()))

Вывод:

Welcome to Guru99 Tutorials!

Использование словаря с форматом ()

Также возможно использовать словарь внутри format (), как показано в примере ниже:

my_dict = {'msg1': "Welcome", 'msg2': 'Guru99'}
print("{m[msg1]} to {m[msg2]} Tutorials!".format(m=my_dict))

Вывод:

Welcome to Guru99 Tutorials!

Замены переменных заполнения

Используя метод string.format (), вы можете добавить отступы, пробел, используя заполнители внутри вашей строки.

Пример:

В приведенном ниже примере будет добавлено пространство внутри Placeholder с использованием формата (). Чтобы добавить пробел, вы должны указать количество пробелов в фигурных скобках после двоеточия (:). Таким образом, заполнитель будет выглядеть как {: 5}.

print("I have {:5} dogs and {:5} cat".format(2,1))

Вывод:

I have     2 dogs and     1 cat

Вы также можете указать индекс внутри заполнителя, например: {0: 5}, где 0 будет ссылаться на первое значение в формате.

print("I have {0:5} dogs and {1:5} cat".format(2,1))

Вывод:

I have     2 dogs and     1 cat

Резюме

  • Строковый класс Python предоставляет нам важную встроенную команду под названием format (), которая помогает нам заменить, заменить или преобразовать строку с заполнителями с допустимыми значениями в последней строке.
  • Заполнители внутри строки определены в фигурных скобках, например, «Welcome to Guru99 {}». Format («значение здесь»).
  • Заполнитель может быть пустым {}, или он может иметь переменную, например, для {name}, или может иметь числовой индекс, например, {0}, {1} и т. Д.
  • Вы можете использовать средства форматирования внутри заполнителей, которые могут помочь добавить отступы, выравнивание по центру, а также помочь с форматированием чисел.