Любая строка представляет собой последовательность символов, заключенную в кавычки.
Например, "School", 'Python', 'Computer science', "123".
Начиная с версии Python 3.6, разработчики реализовали новый тип строк — f-строки или форматированные строки, которые не только работают быстрее других методов форматирования, но и улучшают читаемость кода.
При написании форматированной строки кавычкам предшествует символ форматирования, буква f.
name = "Arman"
age = 16
print("My name is ", name, ". I am ", age, " years old.", sep='') # My name is Arman. I am 16 years old.
print(f"My name is {name}. I am {age} years old.") # My name is Arman. I am 16 years old.
print(f"My name is {name.upper()}. I am {age} years old.") # My name is ARMAN. I am 16 years old.
daysofweek = ['Monday', 'Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday']
print(f"Пятый день недели - {daysofweek[4]}") # Пятый день недели - Friday
print(f"Вещественное число с двумя знаками после запятой - {(38/6):.2f}") # ещественное число с двумя знаками после запятой - 6.33
print(f"Процентное число - {(73/87):.2%}") # Процентное число - 83.91%
print(f"180 в двоичной системе счисления - {(180):b}") # 180 в двоичной системе счисления - 10110100
print(f"180 в шестнадцатеричной системе счисления - {(180):x}") # 180 в шестнадцатеричной системе счисления - b4
print(f"180 в восьмеричной системе счисления - {(180):o}") # 180 в восьмеричной системе счисления - 264
table = ['Lunara', 'Ruslan', 'Alua']
for name in table:
print(f'{name:10}')
print()
table2 = [4142, 3098, 5678]
for num in table2:
print(f'{num:10}') # Lunara....
# Ruslan....
# Alua......
# # ......4142
# ......3098
# ......5678
print(f'Number Square Cube')
for x in range(1, 11):
print(f'{x:6d} {x*x:6d} {x*x*x:6d}')
Вопросы:
Что такое форматированная строка в Python и для чего она используется?
Объясните, что такое f-строка и как она отличается от других методов форматирования в Python.
Как вы можете отформатировать число с двумя знаками после запятой в Python?
Как выравнивать текст в форматированных строках: по левому краю, по центру и по правому краю?
Упражнения:
Задачи:
Задача 1: Генератор Персональных Сообщений
Цель: Использовать форматированные строки для создания персонализированных сообщений.
Описание:
Написать функцию, которая принимает имя и возраст пользователя.
Функция должна возвращать сообщение, которое говорит: "Привет, [Имя]! В следующем году тебе будет [Возраст+1] лет."
Используйте f-строки для вставки имени и возраста в сообщение.
Задача 2: Форматирование Таблицы Продуктов
Цель: Применить форматированные строки для выравнивания текста в таблице.
Описание:
Создайте список словарей, где каждый словарь содержит информацию о продукте: название, количество и цену.
Напишите функцию, которая выводит эту информацию в виде аккуратно отформатированной таблицы с выравниванием текста.
Для форматирования используйте метод f, обеспечив выравнивание названий продуктов по левому краю, количества - по центру, а цены - по правому краю.
Задача 3: Отформатированное Время и Дата
Цель: Использовать форматированные строки для работы с датой и временем.
Описание:
Напишите функцию, которая принимает объект datetime.
Функция должна возвращать строку, содержащую дату и время в формате: "Сегодня: [день недели], [день] [месяц] [год]. Текущее время: [часы]:[минуты]."
Используйте f-строки для форматирования и вывода даты и времени.