Доброго времени суток, читатели, зрители моего канала programmer's notes.
Данная статья это приложение к уроку 9.
Управляющие структуры в строках языка Python
Обычная строка в Python это не только последовательность символов из огромного алфавита, кодируемого utf-8. В строках могут встречаться последовательности, которые определенным образом интерпретируются функциями вывода, например print(). Такие последовательности можно назвать управляющими. Есть и другое название экранированные последовательности. Эти последовательности начинаются с символа обратный слеш '\'. Количество символов, которые могут входить в эту последовательность зависит от того, что идет после обратного слеша. Если за слеш идет символ, который не входит в набор символов, используемых в экранированную последовательность, то строка выводится обычным способом, т.е. в сущности экранированная последовательность отсутствует.
s = 'qwertyui\o\p'
print(s)
Результат работы данных строк будет
qwertyui\o\p
Если обратный слеш стоит последним в строке, то это означает, что происходит перенос на другую строку. Это удобно для представления длинных строк.
s = 'q\
w\
e\
r\
t\
y\
u\
i'
print(s)
Результат выполнения этого фрагмента
qwertyui
Экранированные последовательности с одним символом
\" - для вывода двойных кавычек,
\' - для вывода одинарных кавычек,
\\ - для вывода обратного слеш,
\n - перевод строки (начать следующую строку),
\t - символ табуляции,
\b - backspace (стираем символ слева),
\r - перевести курсор в начало строки,
\v - вертикальная табуляция,
\a - гудок встроенного динамика,
\f - переход на следующую страницу (сейчас практически не используется),
\0 - пустой символ (null).
На самом деле все последовательности от \n до \0, это так называемые управляющие кода: \n - 10, \t - 9, \b - 8, \r - 13, \v - 11, \a - 7, \v - 11, \f - 12, \0 - 0.
s = 'qwer\tqw\nqw\bq'
print(s)
Результат выполнения фрагмента
qwer qw
qq
(табуляция, к сожалению, здесь можно показать только одним пробелом)
Экранированные последовательности с тремя символами
Если за обратным слешем идет символ x, то следующие два символа интерпретируются как однобайтовое число в шестнадцатеричной системе счисления. Это число интерпретируется как ASCII символ. Если после обратного слеш идут три цифры от 0 до 7, то такое число интерпретируется в восьмеричной системе счисления.
s = '\101-\x42'
print(s)
Результат выполнения строк
A-B
Экранированные последовательности с пятью символами
Если после обратного слеш идет символ u, то следующие четыре символа интерпретируются как шестнадцатеричное число - код символа в utf-16.
s = 'qwerty\u500a\u500b\u500c\u500d'
print(s)
Результат выполнения фрагмента
qwerty倊個倌倍
Экранированные последовательности с девятью символами
Если после обратного слеш идет символ U, то следующие четыре символа интерпретируются как шестнадцатеричное число - код символа в utf-32.
s = 'qwerty\U0000800a\U0000800b'
print(s)
Результат выполнения строк
qwerty耊耋
Экранированные последовательности с названием символа в Unicode
Если после обратного слеш стоит N, то далее в фигурных скобках должно стоять строковое название символа Unicode.
s = 'qwerty\N{Winking Face}\N{Male Sign}\N{Female Sign}'
print(s)
Результат выполнения строк
qwerty😉♂♀
Всего наилучшего. Оставляйте свои комментарии, не забывайте про лайки и подписывайтесь на мой канал programmer's notes.
#программирование #программисты #языки программирования #python