Форматирование строк и вставка данных

Форматирование строк и вставка данных в Python позволяют создавать строки с динамическим содержимым. Python предоставляет несколько способов форматирования строк, каждый из которых имеет свои особенности и применения. Рассмотрим основные методы форматирования строк и вставки данных.

Форматирование строк с помощью f-строк (f-strings)

С помощью f-строк, доступных начиная с Python 3.6, можно удобно и эффективно вставлять переменные и выражения в строки.

Примеры:

name = "Alice"
age = 30

# Форматирование строки с помощью f-строки
formatted_string = f"My name is {name} and I am {age} years old."
print(formatted_string)
# Вывод: My name is Alice and I am 30 years old.

f-строки позволяют также вставлять выражения:

x = 10
y = 20
formatted_string = f"The sum of {x} and {y} is {x + y}."
print(formatted_string)
# Вывод: The sum of 10 and 20 is 30.

Метод format()

Метод format() позволяет вставлять данные в строку, используя фигурные скобки {} в качестве плейсхолдеров.

Примеры:

name = "Bob"
age = 25

# Форматирование строки с помощью метода format
formatted_string = "My name is {} and I am {} years old.".format(name, age)
print(formatted_string)
# Вывод: My name is Bob and I am 25 years old.

Вы также можете использовать позиционные и именованные аргументы:

formatted_string = "My name is {0} and I am {1} years old. {0} is a great name.".format(name, age)
print(formatted_string)
# Вывод: My name is Bob and I am 25 years old. Bob is a great name.

formatted_string = "My name is {name} and I am {age} years old.".format(name=name, age=age)
print(formatted_string)
# Вывод: My name is Bob and I am 25 years old.

Оператор % (старый стиль форматирования)

Оператор % используется для форматирования строк в старом стиле, который был популярен до введения format() и f-строк.

Примеры:

name = "Charlie"
age = 40

# Форматирование строки с помощью оператора %
formatted_string = "My name is %s and I am %d years old." % (name, age)
print(formatted_string)
# Вывод: My name is Charlie and I am 40 years old.

Форматирование чисел

Форматирование чисел в строках позволяет контролировать количество знаков после запятой, ширину поля и другие параметры.

Примеры:

number = 123.456789

# Форматирование с двумя знаками после запятой
formatted_string = f"Number rounded to 2 decimal places: {number:.2f}"
print(formatted_string)
# Вывод: Number rounded to 2 decimal places: 123.46

# Форматирование с шириной поля
formatted_string = f"Number with width 10: |{number:10.2f}|"
print(formatted_string)
# Вывод: Number with width 10: |    123.46|

Выравнивание текста

Вы можете выравнивать текст в строках с помощью f-строк или метода format().

Примеры:

text = "align"
# Выравнивание текста по левому краю
formatted_string = f"|{text:<10}|"
print(formatted_string)  # Вывод: |align    |

# Выравнивание текста по правому краю
formatted_string = f"|{text:>10}|"
print(formatted_string)  # Вывод: |    align|

# Выравнивание текста по центру
formatted_string = f"|{text:^10}|"
print(formatted_string)  # Вывод: |  align  |

Работа с датами и временем

Для форматирования дат и времени можно использовать модуль datetime в сочетании с форматированием строк.

Пример:

from datetime import datetime

now = datetime.now()

# Форматирование даты и времени
formatted_string = f"Current date and time: {now:%Y-%m-%d %H:%M:%S}"
print(formatted_string)
# Вывод: Current date and time: 2024-08-19 14:30:15 (пример)

Заключение

Форматирование строк и вставка данных в Python предоставляют гибкие инструменты для создания строк с динамическим содержимым. Вы можете использовать f-строки, метод format(), старый стиль форматирования с %, а также различные методы для форматирования чисел и выравнивания текста. Эти методы позволяют эффективно и удобно форматировать текстовые данные для различных целей.

Last updated