Какие методы нужны форматирования строк python?
Для форматирования строк можно использовать следующие методы:
1) str.capitalize()
возвращает копию строки, где первая буква - заглавная, остальные - строчные.
2) str.lower
возвращает копию строки, где все буквы строчные.
3) str.upper()
возвращает копию строки, где все буквы заглавные.
4) str.strip([chars])
возвращает копию строки без пробелов в начале и конце строки, если метод используется без параметров. Если передать буквы chars, то в начале и конце будут удалены они.
5) str.swapcase()
возвращает копию строки, где все заглавные буквы заменены строчными, а строчные - заглавными.
6) str.title()
возвращает копию строки, в которой каждое слово начинается с заглавной буквы, остальные буквы - строчные.
7) str.format()
возвращает копию строки, в которой каждое замещающее поле, заключенное в фигурные скобки {}
, заменяется строковым значением соответствующего аргумента, переданного в метод.
a = 'Adam'
b = 'Eve'
print('The first man {0} and the first woman {1}'.format(a, b))
# => The first man Adam and the first woman Eve
У метода множество дополнительных возможностей таких как: приведение типов, преобразование в другие системы счисления, выравнивание и т.д. Подробнее см. документацию.
Сейчас строки в Python в основном форматируют с помощью f-строк. Они поддерживают множество опций вывода, заполнения и форматирования чисел и дат.
# форматирование под нужное число нулей
pi = 3.14159
print(f"Пи равно примерно {pi:.2f}") #=> Пи равно примерно 3.14
# форматирование дат
from datetime import datetime
now = datetime.now()
print(f"Текущая дата: {now:%Y-%m-%d}") #=> Текущая дата: 2024-08-21
# форматирование чисел
number = 1234567.89
print(f"{number:,}") #=> 1,234,567.89
# выравнивание и заполнение
print(f"{'text':*^20}") #=> ********text********