На этом шаге мы рассмотрим различные способы форматирования строк.
Вам нужно отформатировать текст с применением некоего выравнивания.
Для базового выравнивания строк можно использовать методы ljust(), rjust() и center(). Например:
>>> text = 'Hello World' >>> text.ljust(20) 'Hello World ' >>> text.rjust(20) ' Hello World' >>> text.center(20) ' Hello World ' >>>
Все эти методы могут принимать опциональный символ заполнения. Например:
>>> text.rjust(20,'=') '=========Hello World' >>> text.center(20,'*') '****Hello World*****' >>>
Функция format() также может быть использована для выравнивания. Вам нужно просто использовать символы <, > или ^ вместе с желаемой шириной. Например:
>>> format(text, '>20') ' Hello World' >>> format(text, '<20') 'Hello World ' >>> format(text, '^20') ' Hello World ' >>>
Если вы хотите использовать в качестве заполняющего символа не пробел, определите его перед символом выравнивания:
>>> format(text, '=>20s') '=========Hello World' >>> format(text, '*^20s') '****Hello World*****' >>>
Эти коды форматирования могут быть также использованы с методом format() при обработке нескольких значений. Например:
>>> '{:>10s} {:>10s}'.format('Hello', 'World') ' Hello World' >>>
У format() есть преимущество - он работает не только со строками. Он работает с любыми значениями, что делает его назначение очень широким. Например, вы можете использовать его с числами:
>>> x = 1.2345 >>> format(x, '>10') ' 1.2345' >>> format(x, '^10.2f') ' 1.23 ' >>>
В старых программах вы также можете увидеть, как для форматирования текста использовался оператор %. Например:
>>> '%-20s' % text 'Hello World ' >>> '%20s' % text ' Hello World' >>>
Однако в новых программах вы должны предпочитать функцию или метод format(). Она намного мощнее оператора %. Более того, format() может применяться более широко, нежели строковые методы ljust(), rjust() или center(), поскольку работает с любыми объектами.
За полным списком возможностей функции format() обратитесь к документации Python https://docs.python.org/3/library/string.html#formatspec.
На следующем шаге мы рассмотрим объединение и конкатенацию строк.