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

Форматирование строки в Python – быстрый обзор

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

Автор оригинала: Pankaj Kumar.

Форматирование строки в Python – быстрый обзор

Форматирование строки, как указано имя, относится к нескольким способам форматирования строк в Python. В этом руководстве мы обсудим разные пути и как их использовать.

Что такое форматирование строки?

Позвольте нам сказать, что вы пишете программу, которая печатает квадрат числа. На вашем входе вы получаете целое число от пользователя, а на выходе вы говорите пользователю, что квадрат целого числа так и так.

Например, если вход 12, то вам нужно будет распечатать «квадрат 12 – 144». Мы не можем написать такую полную строку, потому что у нас есть два целых числа для вставки в строку, поэтому нам понадобится способ создания этой строки. Форматирование строки позволяет нам сделать это.

Примечание: если мы сделаем Печать («Квадрат», вход, «IS», результат) , Это напечатает четыре разных веща, он не сгенерирует отформатированную строку, поэтому это не считается форматированием строки.

Типы методов форматирования строки

Сегодня мы будем обсуждать три способа форматирования строк:

  1. Использование% оператора
  2. Использование F-струн
  3. Использование метода формата ()

Давайте обсудим каждый метод один за другим.

1. Форматирование строки с использованием% оператора

Это старый путь для форматирования строки все еще полезен для простых операций. Это работает очень похожи на printf Заявление в C.

Давайте возьмем пример:

num = 12
result = num * num
str = "The square of %d is %d" % (num, result)
print(str)

Выход:

The square of 12 is 144

У нас есть два целых числа, Num и Результат Отказ В двойных цитатах мы пишем всю строку, которая должна быть напечатана, но вместо целых чисел, мы пишем % d Отказ Это скажет Python, что целое число должно быть заменено здесь.

После строки мы используем % Оператор и напишем второго операнда, который является кортежным, содержащим список целых чисел, которые должны быть заменены в правильном порядке. В приведенном выше примере у нас есть два целых числа, которые нужно заменить, поэтому мы пишем два целых числа в кортеже и поставить его в качестве второго операнда.

Обратите внимание, что внутри строки мы написали % d , все, что приходит после % называется спецификатором формата. В примере D Является ли формат, указанный для целых чисел, S для струн, F Для поплавки или десятичных и т. Д. Чтобы увидеть полный список спецификатов, мы видим Python Docs Отказ

Советы по использованию% для форматирования строк

  1. Мы можем указать номер между % И спецификатор формата (например, % 5D ), и Python предоставит целовое левое заполнение, чтобы общее количество символов требуется целое число, равно указанному указанному номеру. В случае % 5D , «123» будет заменен как «123», 12 заменяется как «12» и т. Д.
  2. Вышеуказанное число можно указать с нулем на левой стороне (например, % 05D ), а Python даст целое число подобное левое прокладка, но вместо пробелов у него будут нужные. Например, в случае% 05D «123» будет замещен как «00123», «12» будет заменен как «00012» и т. Д.
  3. Вышеуказанное число также может быть указано в знак «-» на левой стороне ( % -5D ), а вместо того, чтобы предоставить левую прокладку, Python обеспечит прокладку на правой стороне. Итак, для % -5D , «123» будут заменены как «123», «12» будут заменены как «12» и т. Д.

Эти точки могут пригодиться, когда будет построен таблица.

2. Форматирование с использованием F-струн

Это проще всего понимать и наиболее широко используемую технику форматирования. Чтобы понять это, давайте примет пример.

num = 12
result = num * num
str = f"The square of {num} is {result}"
print(str)

Выход:

The square of 12 is 144

Как видите, мы напрямую встроили выражения внутри строки. Строка также префиксирована буквой «F», и это скажет Python, что это F-string И все, что выражение написано внутри { и } должен быть оценен и встроен в строку в этой позиции.

Выражение внутри вьющихся кронштейнов не должно быть одной переменной, скорее, это может быть любое утверждение, которое возвращает значение. Это может быть арифметический расчет, функциональный вызов или условная операция. Давайте увидим пример:

a = 1
b = 2
str = f"Expression: {a + b}"
print(str)

Выход:

Expression: 3

В приведенном выше примере мы выполняем математическую операцию внутри F-строки. Таким образом, мы можем видеть, что F-струны являются мощными вариантами.

Давайте увидим еще один пример:

a = 1
b = 2
str = f"a is '{a:5}' and b is '{b:05}'"
print(str)

Выход:

a is '    1' and b is '00002'

Похож на % Оператор, здесь также мы можем указать paddings, как показано в приведенном выше примере.

3. Форматирование строки с использованием метода .format ()

Этот метод очень похож на F-Strings, давайте увидим его, используя пример:

num = 12
result = num * num
str = "The square of {} is {}".format(num, result)
print(str)

Выход:

The square of 12 is 144

Как мы можем видеть, внутри строки мы указали два заполнителя, используя {} , а затем мы используем Формат Способ на строке и передайте соответствующие целые числа, которые должны быть заменены в правильном порядке.

Мы можем поставить идентификаторы внутри вьющихся кронштейнов, но нам придется отправлять значения для идентификаторов позже. Мы также можем указать левые прокладки, как мы сделали ранее. Возьми этот пример:

a = 1
b = 2
str = "a is '{first}' and b is '{second:03}'".format(first=a, second=b)
print(str)

Выход:

a is '1' and b is '002'

В приведенном выше примере мы помещаем имена внутри заполнителей, а в списке аргументов «Формат метода» мы указали значение для каждого заполнителя, используя его имя. Второй заполнитель даже был уточнен с нулевыми прокладками слева, как и в других техниках.

Заключение

В этом руководстве мы изучали форматирование строки, и мы обсудили три распространенных способа сделать это. Мы изучали % Оператор сначала, то мы переехали на F-строки и Формат метод. Мы также обсудили, как добавить прокладки для отформатированных строк, и мы изучали код, увидев его вывод.

Надеюсь, у вас было отличное время обучения и увидимся в следующем руководстве.