Переменные вывода в Python
Узнайте, как выводить переменные в Python с помощью print(), конкатенации строк, f-строк и аргументов sep/end, с примерами и типичными ошибками.
Функция print() в Python — основной инструмент для отображения значений переменных на экране. В этой главе рассматриваются все практические способы вывода переменных: от самого простого вывода одного значения до форматированных строк с несколькими переменными, а также типичные ошибки, с которыми сталкиваются начинающие.
Эта глава охватывает:
- Вывод одной переменной
- Вывод нескольких переменных через запятую (аргументы
sepиend) - Конкатенация строк с помощью
+ - Использование f-строк для встраивания переменных в текст
- Преобразование нестроковых значений с помощью
str()
Связанные главы: Переменные Python · Имена переменных · Форматирование строк · Глобальные переменные
Вывод одной переменной
Передайте любую переменную непосредственно в print(), и Python автоматически преобразует её в текст.
Вывод строковой переменной
Hello, World!Это работает для всех встроенных типов — чисел, булевых значений, списков и так далее:
count = 42
price = 9.99
active = True
print(count)
print(price)
print(active)42
9.99
TrueВывод нескольких переменных
Использование запятых
Передайте несколько переменных в print(), разделив их запятыми. По умолчанию Python вставляет между ними один пробел.
name = "Alice"
age = 30
print("Name:", name)
print("Age:", age)Name: Alice
Age: 30В одном вызове print() можно передать сколько угодно аргументов:
x = 10
y = 20
z = 30
print(x, y, z)10 20 30Аргумент sep
Используйте sep, чтобы изменить символ-разделитель между значениями (по умолчанию — пробел):
first = "John"
last = "Doe"
print(first, last, sep="-")John-DoeАргумент end
По умолчанию print() добавляет символ новой строки \n в конце. Это можно изменить с помощью end:
print("Loading", end="...")
print("done")Loading...doneОба значения отображаются в одной строке, потому что первый вызов print() не добавляет перевод строки.
Конкатенация строк с помощью +
Соедините строковые переменные с помощью оператора +, чтобы сформировать одну строку вывода:
name = "Alice"
greeting = "Hello, " + name + "!"
print(greeting)Hello, Alice!Важно: оператор + работает только между строками. При попытке соединить строку с числом возникает TypeError:
age = 30
# print("Age: " + age) # TypeError: can only concatenate str (not "int") to str
print("Age: " + str(age)) # correct — convert age to string firstAge: 30Используйте str() для преобразования любого нестрокового значения перед применением +. Если вместо + использовать запятую, Python выполнит преобразование автоматически — но вы теряете контроль над отступами и форматированием.
Вывод переменных с помощью f-строк
f-строки (Python 3.6+) — самый читаемый способ встраивать переменные в текст. Поставьте перед строкой префикс f и разместите имена переменных (или любые выражения) внутри {}:
name = "Alice"
score = 95.5
print(f"{name} scored {score:.1f} points")Alice scored 95.5 points:.1f внутри фигурных скобок — спецификатор формата, который округляет число с плавающей точкой до одного десятичного знака. f-строки могут вычислять любое выражение Python, а не только имена переменных:
x = 5
y = 2
print(f"{x} + {y} = {x + y}")
print(f"{x} / {y} = {x / y:.2f}")5 + 2 = 7
5 / 2 = 2.50Полное руководство по спецификаторам формата (выравнивание, отступы, системы счисления) см. в разделе Форматирование строк.
Результаты арифметических вычислений как вывод
Python вычисляет арифметические выражения перед выводом на экран. Вы можете передать выражение напрямую в print(), не сохраняя его в переменную:
Вывод результатов вычислений в Python
7
3
10
2.5
1Обратите внимание: деление двух целых чисел в Python 3 всегда возвращает float (2.5, а не 2). Для целочисленного деления (с округлением вниз) используйте //:
print(5 // 2) # 2
print(5 % 2) # 12
1Проверка типа переменной
Используйте type() внутри print(), чтобы узнать тип переменной — это удобно при отладке:
x = 42
name = "Alice"
pi = 3.14
print(type(x))
print(type(name))
print(type(pi))<class 'int'>
<class 'str'>
<class 'float'>Запятая vs. + — краткое сравнение
| Метод | Синтаксис | Автоматическое преобразование | Управление отступами |
|---|---|---|---|
| Запятая | print(a, b) | Да | Через аргумент sep |
| Конкатенация | print(a + b) | Нет — используйте str() | Разделитель не добавляется |
| f-строка | print(f"{a} {b}") | Да | Полный контроль |
Для нового кода предпочтительнее использовать f-строки: они наиболее читаемы и наименее подвержены ошибкам.