Вывод на экран — print()
Функция print() выводит данные в консоль:
print("Привет, мир!") # Привет, мир!
print(5 + 3) # 8
print("A", "B", "C") # A B C
Параметр sep задаёт разделитель между аргументами, end — что печатать в конце:
print("a", "b", "c", sep="-") # a-b-c
print("Привет", end="!!!\n") # Привет!!!
Ввод с клавиатуры — input()
input() читает строку, введённую пользователем. Опционально можно передать подсказку:
name = input("Введите имя: ")
print("Привет,", name) # Привет, Анна
⚠️ Важно:
input()всегда возвращает строку. Если нужно число, преобразуйте явно с помощьюint()илиfloat().
Ввод строки
Самый простой случай — ввод текста. Результат input() сразу сохраняется в переменную как строка (str), никаких дополнительных преобразований не требуется:
name = input("Введите ваше имя: ")
print(f"Привет, {name}!") # Привет, Анна!
print(f"Тип переменной name: {type(name)}") #
f-строки (f-strings). f"текст {выражение}" — это строки, в которые можно подставлять значения переменных и даже целые выражения внутри фигурных скобок {}. Буква f перед открывающей кавычкой включает режим подстановки. Например, f"Привет, {name}!" подставит значение переменной name прямо в строку. Если забыть букву f, строка выведется буквально, включая {name}.
Переменная name хранит строку, поэтому её можно использовать в f-строках, конкатенировать с другими строками и применять строковые методы.
Ввод целого числа (int)
Если пользователь должен ввести целое число (возраст, количество предметов, номер варианта), результат input() нужно обернуть в int():
age = int(input("Сколько вам лет? "))
print(f"Через год вам будет {age + 1}.") # Через год вам будет 26.
print(f"Тип переменной age: {type(age)}") # <class 'int'>
# Можно выполнять арифметические операции
print(f"В месяцах: {age * 12}") # В месяцах: 300
print(f"В днях (примерно): {age * 365}") # В днях (примерно): 9125
Без преобразования int() переменная age осталась бы строкой, и age + 1 вызвало бы ошибку (нельзя сложить строку и число).
Ввод вещественного числа (float)
Для ввода дробных чисел (рост, вес, температура, цена) используйте float(). В качестве десятичного разделителя используется точка, а не запятая:
height = float(input("Введите ваш рост (м): "))
print(f"Ваш рост: {height} м") # Ваш рост: 1.75 м
print(f"Тип переменной height: {type(height)}") # <class 'float'>
# Обычные операции с float
bmi = 70 / (height ** 2)
print(f"Ваш ИМТ: {bmi:.1f}") # Ваш ИМТ: 22.9
Запятая vs точка. Если пользователь введёт 1,75 (с запятой), float() вызовет ошибку ValueError. Всегда указывайте в подсказке формат числа, например: "Введите ваш рост (м, через точку): ".
Общая схема ввода чисел
Независимо от типа числа, алгоритм одинаков:
- Вызвать
input()— получить строку. - Обернуть результат в
int()илиfloat()— получить число. - Использовать число в вычислениях.
# Общий шаблон для ввода числа:
# переменная = тип(input("подсказка: "))
a = int(input("Введите целое число: "))
b = float(input("Введите дробное число: "))
print(f"Сумма: {a + b}") # Сумма: 6.5
print(f"Произведение: {a * b}") # Произведение: 10.0
Совет. Если есть риск, что пользователь введёт не число (буквы, запятую вместо точки, пустую строку), программа упадёт с ошибкой ValueError. Обработку таких ситуаций с помощью try / except мы разберём в одной из следующих глав.
Форматирование строк
Форматирование строк позволяет подставлять значения переменных в текст, управлять шириной полей, количеством знаков после запятой и выравниванием. В современном Python (3.6+) основным способом являются f-строки — они читаются легче всего и работают быстрее аналогов.
f-строки (Python 3.6+, рекомендуется):
name = "Анна"
age = 25
print(f"Меня зовут {name}, мне {age} лет.") # Меня зовут Анна, мне 25 лет.
# Выражения внутри f-строки
print(f"Через 5 лет будет {age + 5}.") # Через 5 лет будет 30.
# Форматирование чисел
# Синтаксис: {переменная:Nf} — N знаков после запятой
pi = 3.14159265
print(f"Число π с двумя знаками: {pi:.2f}") # 3.14
print(f"Число π с тремя знаками: {pi:.3f}") # 3.142
print(f"Число π с четырьмя знаками: {pi:.4f}") # 3.1416
# Форматирование результата выражения
print(f"10 / 3 = {10/3:.3f}") # 3.333
print(f"1 / 2 = {1/2:.3f}") # 0.500
# ВАЖНО: round() не гарантирует нужное число знаков при выводе
print(round(1/2, 3)) # 0.5 — только один знак, а нужно 0.500
print(f"{1/2:.3f}") # 0.500 — всегда ровно три знака после запятой
Метод format():
print("Меня зовут {}, мне {} лет.".format(name, age)) # Меня зовут Анна, мне 25 лет.
# Именованные аргументы
print("Меня зовут {n}, мне {a} лет.".format(n="Иван", a=30)) # Меня зовут Иван, мне 30 лет.
Таблица символов
Специальные символы:
| Код | Значение |
|---|---|
\n | Новая строка |
\t | Табуляция |
\\ | Обратный слеш |
\" | Двойная кавычка внутри строки |