Python форматирование строк: советы и примеры
Python предлагает несколько способов форматирования строк. В этом развернутом ответе мы рассмотрим основные из них, а также приведем примеры кода для каждого способа.
1. Классический метод с использованием оператора `%`:
Он позволяет встраивать значения переменных в строку, используя специальные символы формата. Например:
name = "John"
age = 25
text = "Меня зовут %s и мне %d лет." % (name, age)
print(text)
Вывод:
Меня зовут John и мне 25 лет.
2. Функция format():
Она позволяет более гибко форматировать строки. В нее можно передавать значения переменных с помощью индексов или именованных аргументов. Примеры:
name = "John"
age = 25
text = "Меня зовут {} и мне {} лет.".format(name, age)
print(text)
text = "Меня зовут {0} и мне {1} лет.".format(name, age)
print(text)
text = "Меня зовут {n} и мне {a} лет.".format(n=name, a=age)
print(text)
Вывод:
Меня зовут John и мне 25 лет. Меня зовут John и мне 25 лет. Меня зовут John и мне 25 лет.
3. Литеральные строки f-строк:
Введены в Python 3.6 и позволяют встраивать значения переменных прямо в строку, используя фигурные скобки и предваряя строку префиксом f. Пример:
name = "John"
age = 25
text = f"Меня зовут {name} и мне {age} лет."
print(text)
Вывод:
Меня зовут John и мне 25 лет.
4. Метод join():
Он применяется, когда нужно объединить несколько строк или значений в одну строку. Пример:
numbers = [1, 2, 3, 4, 5]
text = "Числа: " + ", ".join(str(num) for num in numbers)
print(text)
Вывод:
Числа: 1, 2, 3, 4, 5.
5. Использование форматированных литералов (f-strings) для чисел:
Можно форматировать числа с определенным количеством знаков после запятой или с определенной шириной. Примеры:
pi = 3.141592653589793
text = f"Значение числа π с точностью до восьмого знака после запятой: {pi:.8f}"
print(text)
number = 42
text = f"Число {number} с шириной 5 символов: {number:5}"
print(text)
Вывод:
Значение числа π с точностью до восьмого знака после запятой: 3.14159265 Число 42 с шириной 5 символов: 42
В этом ответе мы рассмотрели основные способы форматирования строк в Python и привели примеры кода для каждого из них.