Форматирование строк — это ежедневная задача для любого Python-разработчика. Нужно ли вывести приветствие, составить отчет или записать данные в лог-файл — везде мы работаем со строками. Раньше для этого использовали громоздкие конструкции, но с появлением f-строк всё изменилось. F-строки, или форматированные строковые литералы, позволяют встраивать значения переменных и даже целые выражения прямо в строку, делая код чище и понятнее. В этом уроке мы отработаем их использование на практике: от простого вывода переменных до вставки результатов вычислений и форматирования чисел. Эти задания помогут вам освоить мощный и элегантный инструмент для работы со строками.
- Модуль 1: Основы синтаксиса Python
- Модуль 2: Переменные и типы данных
- Модуль 3: Операторы
- Арифметические операторы (+, -, *, /).
- Целочисленное деление и остаток (// и %).
- Возведение в степень (**).
- Операторы сравнения.
- Логические операторы (and, or, not).
- Операторы присваивания (=, +=, -=).
- Операторы принадлежности (in, not in).
- Операторы идентичности (is, is not).
- Битовые операторы.
- Тернарный оператор.
- Модуль 4: Ввод и вывод данных
- Модуль 5: Условные конструкции
- Модуль 6: Циклы
- Модуль 7: Строки
- Модуль 8: Списки
- Модуль 9: Кортежи
- Модуль 10: Словари
- Модуль 11: Множества
- Модуль 12: Функции
- Модуль 13: Встроенные функции
- Модуль 14: Работа с файлами
- Модуль 15: Обработка исключений
- Модуль 16: Модули и пакеты
- Модуль 17: ООП - Основы
- Модуль 18: ООП - Продвинутый уровень
- Модуль 19: Декораторы
- Модуль 20: Генераторы и итераторы
- Модуль 21: Регулярные выражения
- Модуль 22: Дата и время
- Модуль 23: Математические операции
- Модуль 24: Работа с сетью
- Модуль 25: Асинхронное программирование
- Модуль 26: Многопоточность
- Модуль 27: Тестирование
- Модуль 28: Базы данных
- Модуль 29: Алгоритмы и структуры данных
- Модуль 30: Продвинутые возможности
Основы f-строк: префикс и переменная
Чтобы превратить обычную строку в f-строку, нужно добавить специальный префикс перед открывающей кавычкой и обернуть имя переменной в фигурные скобки. Заполните пропуски, чтобы создать ваше первое приветствие с помощью f-строки.
name = "Егор"
# Используйте f-строку для вывода приветствия
greeting = input1S"Привет, {input2S}!"
print(greeting)Найдите пропущенный префикс
В этом коде есть одна маленькая, но критическая ошибка. Программист хотел использовать f-строку для вывода информации о товаре, но что-то забыл. В результате переменные не подставляются в строку. Найдите и исправьте ошибку.
item = "Смартфон"price = 25000print("Товар: {item}, Цена: {price} руб.")Вычисления внутри f-строки
Сила f-строк в том, что они могут содержать не только переменные, но и целые Python-выражения. Проанализируйте код и впишите в поле ответа, какую именно строку он выведет на экран.
birth_year = 1999
print(f"Если вы родились в {birth_year}, то в 2024 году вам исполнилось {2024 - birth_year} лет.")Вызов метода внутри f-строки
Внутри f-строк можно даже вызывать методы объектов. В этом коде к переменной `title` применяется строковый метод `.upper()`. Какой будет результат выполнения этого кода? Выберите правильный вариант.
title = "Игра престолов"
print(f"Название книги: {title.upper()}")Соберите отчет о погоде
Из перемешанных строк кода соберите небольшую программу. Она должна определять переменные для города и температуры, а затем выводить их в одной строке с помощью f-строки. Две строки являются лишними.
print(f"В городе {city} сегодня {temp}°C.")temp = -5print(city, temp)city = "Новосибирск"import mathФорматирование чисел с плавающей точкой
F-строки позволяют не просто вставлять значения, но и форматировать их. Например, можно ограничить количество знаков после запятой у дробного числа. Дополните код, чтобы вывести стоимость товара с точностью до двух знаков после запятой (как на ценниках в магазине).
price = 599.999
weight = 1.5
print(f"Стоимость: {price:input1S} руб. за {weight} кг")Неправильные скобки
Новички иногда путают типы скобок. Для подстановки переменных в f-строках используются только фигурные скобки. В этом коде была допущена ошибка — вместо них использовались круглые. Исправьте строку, чтобы код заработал.
user_id = 101status = "active"print(f"Пользователь с ID (user_id) имеет статус: (status)")Соберите f-строку из токенов
Используя элементы из "банка", соберите правильную f-строку. В строке должны быть подставлены переменные `language` и `year`. Перетащите нужные токены в пропуски. Некоторые токены лишние.
language = "Python"
year = 1991
message = input1S"Язык input2S был создан в input3S году."
print(message)Экранирование фигурных скобок
Что делать, если в f-строке нужно вывести сами символы фигурных скобок, а не использовать их для подстановки? Для этого их нужно "экранировать", то есть удвоить. Посмотрите на код и напишите, что именно он выведет.
syntax_element = "переменная"
print(f"В Python для подстановки используют {{ {syntax_element} }}")Скрипт-приветствие по возрасту
Соберите из строк полноценный скрипт. Программа должна запросить имя и возраст пользователя, а затем, используя f-строку, вывести сообщение, которое включает и имя, и вычисление возраста через год.
print(f"Привет, {name}! В следующем году тебе будет {age + 1}.")name = input("Как тебя зовут? ")age = int(input("Сколько тебе лет? "))