Вывод строки и переменной в одну строку в Python
Пройдите тест, узнайте какой профессии подходите
Быстрый ответ
Чтобы вывести переменную и строку в одной строке, воспользуйтесь функцией print()
. Вы можете создать их комбинацию с оператором + или воспользоваться более современным и удобным методом — f-строками:
variable = "мир"
print("Привет " + variable) # Конкатенация — этот подход классический!
print(f"Привет {variable}") # F-строка — современный подход!
Больше не школа: f-строки
С версии Python 3.6 f-строки предоставляют простой способ включения переменных, выражений и вызовов функций прямо в строки, что значительно упрощает их форматирование:
x = 5
y = 10
print(f"Сумма {x} и {y} равна {x + y}. Это быстро!") # Выражение в f-строке
Также f-строки можно использовать для вставки в строки результатов выполнения функций:
import math
print(f"Квадратный корень из 25 равен {math.sqrt(25)}") # Вызов функции в f-строке
Когда требуется форматирование: использование .format()
Метод str.format()
отличается универсальностью и гибкостью. Он особенно применим, когда важна поддержка Python 2 версии:
character = "Pythonist"
print("Привет, {}. Что-то сломалось!", format(character)) # Простой пример
print("{2}, {1} и {0}".format('а', 'б', 'в')) # Перегруппировка — без проблем!
При помощи .format()
можно детально настройть форматирование объектов:
print("|{:>10}|".format("текст")) # Выравнивание вправо
print("|{:^10}|".format("текст")) # Выравнивание по центру
print("|{:.5}|".format("ксилофон")) # Сокращение до 5 символов
print("|{:=+10}|".format((-23))) # Вывод знака числа на самом переднем месте
Конкатенация: возвращение к корням
Работая со статическими строками, вы можете соединять их с переменными с помощью оператора +:
salutation = "Д-р"
name = "Кто"
print(salutation + " " + name) # Знакомо? Да, именно так.
Помните о необходимости преобразования нестроковых значений с использованием функции str()
перед конкатенацией:
wives_of_henry_viii = 6
print("Генрих VIII был женат " + str(wives_of_henry_viii) + " раз.") # Вот она, функция `str()`!
"%s" для меня: printf-стиль
Форматирование строк в стиле printf — это дань традициям языка C, которую Python тоже поддерживает:
name = "Валдо"
print("Где же ты, %s?" % name)
Визуализация
Рассмотрим на примере, как работает встраивание переменных в строку:
Концепция: '**Обычная Строка**' и **Переменная** 🚂
Хотим получить:
name = "Python"
print(f"Это обычная строка, а здесь — {name}!")
И вот как это выглядит:
До: [ '**Обычная Строка**', 🚧, 🚂 ]
После: [ '**Это обычная строка, а здесь — Python!**' ]
Рекомендации и примеры для идеального вывода
Профессиональный вывод требует внимательности к деталям:
Форматирование чисел с плавающей точкой
Для контроля числа знаков после запятой используйте :.nf
в .format()
и f-строках:
val = 12.3456789
print(f"Число с точностью до 2 знаков: {val:.2f}") # f-строки
print("Такое же число: {:.2f}".format(val)) # .format()
Такой подход поможет избежать проблем с точностью при выводе чисел с плавающей точкой.
Кавычки в строках
Вы можете отдавать предпочтение одинарным или двойным кавычкам, чтобы избежать конфликтов:
print('Символ "двойные кавычки" в строке.')
print("И 'одиночные кавычки' также могут быть в строке!")
Длинные строки с различными видами кавычек удобнее оборачивать в тройные кавычки.
Полезные материалы
- Встроенные типы — Документация Python 3.12.2 — руководство по форматированию строк.
- Лучшие практики форматирования строк в Python – Real Python — рекомендации по работе со строками.
- 2. Лексический анализ — Документация Python 3.12.2 — подробная информация о f-строках.
- Python Tutorial: String Formatting – Advanced Operations for Dicts, Lists, Numbers, and Dates — обучающее видео.
- f-строки в Python – GeeksforGeeks — информация о f-строках.
- Метод format() в Python — применение
.format()
. - PEP 498 – Литеральная интерполяция строк — документ, объясняющий принципы работы f-строк.