Python.Модули.string
https://t.me/HotCheatSheet
Сегодня на рассмотрении модуль string, стандартной библиотеки Python. Данный модуль содержит множество констант и функций, которые могут пригодиться для обработки строк. В нем также объявляются классы, предназначенные для реализации новых механизмов форматирования строк.
Константы
Определяют множетсво символов для операций над строками
ascii_letters
— строка, содержащая все строчные и заглавные символы ASCII.
ascii_lowercase
— строка ‘abcdefghijklmnopqrstuvwxyz’.
ascii_uppercase
— строка ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’.
digits
— строка ‘0123456789’.
hexdigits
— строка ‘0123456789abcdefABCDEF’.
letters
— конкатенация строк lowercase и uppercase.
lowercase
— строка, содержащая все строчные символы.
octdigits
— строка ‘01234567’.
punctuation
— строка с символами пунктуации из набора ASCII.
printable
— строка печатаемых символов – комбинация значений letters, digits, punctuation и whitespace.
uppercase
— строка, содержащая все заглавные символы.
whitespace
— строка, содержащая все пробельные символы.
Объекты типа Formatter
class string.Formatter()
Formatter().format(
format_string
,
*args
,
**kwargs
)
— форматирует строку format_string
.
Пример:
Formatter().format(“My name is {name}”, name=”Peter”) #вернёт "My name is Peter" "My name is {name}".format(name="Peter") #также возможна такая форма записи
Formatter().vformat(
format_string
,
args
,
kwargs
)
— метод, который фактически выполняет работу метода format()
. В аргументе args
передается кортеж позиционных аргументов, а в аргументе kwargs
– словарь именованных аргументов.
Formatter().parse(
format_string
)
— cоздает итератор для парсинга содержимого строки формата format_string
. Воспроизводит кортежи вида (literal_text, field_name, format_spec, conversion)
.
Formatter().get_field(
fieldname
,
args
,
kwargs
)
— извлекает из аргументов args
и kwargs
значение, ассоциированное с указанным именем поля fieldname
.
Formatter().get_value(
key
,
args
,
kwargs
)
— извлекает объект из аргумента args
или kwargs
, в зависимости от типа значения key
.
Formatter().check_unused_args(
used_args
,
args
,
kwargs
)
— проверяет аргументы, не использованные в вызове format()
.
Formatter().format_value(
value
,
format_spec
)
— форматирует единственное значение value в соответствии с указанным спецификатором формата format_spec
.
Formatter().convert_field(
value
,
conversion
)
— преобразует значение value, полученное в результате вызова метода get_field(), в соответствии с указанным кодом преобразования conversion.
Строки типа Template
class string.Template(template)
Template(
s
).substitute(
mapping [, **kwargs]
)
— принимает объект отображения mapping или список именованных аргументов и выполняет подстановку значений именованных аргументов в строку s
.
Пример:
Template("My name is $name").subtitute(name="Peter") #выведет "My name is Peter"
Template(
s
).safe_substitute(
mapping[, **kwargs]
)
— то же, что и substitute()
, за исключением того, что этот метод не возбуждает исключение и не сообщает об ошибках.
Template(
s
).template
— содержит оригинальную строку s
.
Вспомогательные функции
string.capwords(
s
)
— Переводит в верхний регистр первые буквы каждого слова в строке s
, замещает повторяющиеся пробельные символы единственным пробелом и удаляет начальные и конечные пробелы.
string.maketrans(
from
,
to
)
— Создает таблицу преобразования, которая отображает каждый символ в строке from
в символ, находящийся в той же позиции, в строке to
. Строки from
и to
должны иметь одинаковую длину. Эта функция используется для создания аргументов, пригодных для использования строковым методом translate()
.