Python 3 - строки
Строки - одни из самых популярных типов в Python. Мы можем создать их, просто заключив символы в кавычки. Python обрабатывает одинарные кавычки так же, как двойные кавычки. Создать строки так же просто, как присвоить значение переменной. Например -
var1 = 'Hello World!'
var2 = "Python Programming"Доступ к значениям в строках
Python не поддерживает символьный тип; они рассматриваются как строки длины один, поэтому также считаются подстрокой.
Чтобы получить доступ к подстрокам, используйте квадратные скобки для нарезки вместе с индексом или индексами для получения вашей подстроки. Например -
#!/usr/bin/python3
var1 = 'Hello World!'
var2 = "Python Programming"
print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])Когда приведенный выше код выполняется, он дает следующий результат:
var1[0]:  H
var2[1:5]:  ythoОбновление строк
Вы можете «обновить» существующую строку, присвоив (пере) переменную другой строке. Новое значение может быть связано со своим предыдущим значением или с совершенно другой строкой. Например -
#!/usr/bin/python3
var1 = 'Hello World!'
print ("Updated String :- ", var1[:6] + 'Python')Когда приведенный выше код выполняется, он дает следующий результат:
Updated String :-  Hello PythonПерсонажи побега
В следующей таблице приведен список управляющих или непечатаемых символов, которые могут быть представлены с помощью обратной косой черты.
Интерпретируется escape-символ; в строках как в одинарных, так и в двойных кавычках.
| Обозначение обратной косой черты | Шестнадцатеричный символ | Описание | 
|---|---|---|
| \ а | 0x07 | Звонок или тревога | 
| \ b | 0x08 | Backspace | 
| \ cx | Control-x | |
| \ Cx | Control-x | |
| \ e | 0x1b | Побег | 
| \ f | 0x0c | Formfeed | 
| \ M- \ Cx | Мета-Control-x | |
| \ п | 0x0a | Новая линия | 
| \ nnn | Восьмеричная запись, где n находится в диапазоне 0,7 | |
| \р | 0x0d | Возврат каретки | 
| \ s | 0x20 | Космос | 
| \ т | 0x09 | Вкладка | 
| \ v | 0x0b | Вертикальная табуляция | 
| \Икс | Символ x | |
| \ xnn | Шестнадцатеричное представление, где n находится в диапазоне 0,9, af или AF. | 
Специальные строковые операторы
Предположим строковую переменную a содержит 'Hello' и переменную b держит Python, тогда -
| Оператор | Описание | пример | 
|---|---|---|
| + | Конкатенация - добавляет значения по обе стороны от оператора. | a + b даст HelloPython | 
| * | Повторение - создает новые строки, объединяя несколько копий одной и той же строки. | a * 2 передаст -HelloHello | 
| [] | Slice - дает символ из заданного индекса | a [1] даст e | 
| [:] | Range Slice - дает символы из заданного диапазона | a [1: 4] даст ell | 
| в | Членство - возвращает истину, если в данной строке существует символ. | H в a даст 1 | 
| не в | Членство - возвращает истину, если символ не существует в данной строке. | M не в a даст 1 | 
| r / R | Необработанная строка - подавляет фактическое значение escape-символов. Синтаксис необработанных строк точно такой же, как и для обычных строк, за исключением оператора необработанной строки, буквы «r», которая стоит перед кавычками. Буква «r» может быть в нижнем (r) или верхнем регистре (R) и должна быть помещена непосредственно перед первой кавычкой. | print r '\ n' печатает \ n и печатает R '\ n'печатает \ n | 
| % | Формат - выполняет форматирование строки | См. Следующий раздел | 
Оператор форматирования строки
Одна из самых крутых функций Python - оператор строкового формата%. Этот оператор уникален для строк и компенсирует набор функций из семейства printf () языка C. Ниже приводится простой пример -
#!/usr/bin/python3
print ("My name is %s and weight is %d kg!" % ('Zara', 21))Когда приведенный выше код выполняется, он дает следующий результат:
My name is Zara and weight is 21 kg!Вот список полного набора символов, которые можно использовать вместе с% -
| Sr.No. | Символ формата и преобразование | 
|---|---|
| 1 | %c персонаж | 
| 2 | %s преобразование строки с помощью str () до форматирования | 
| 3 | %i знаковое десятичное целое число | 
| 4 | %d знаковое десятичное целое число | 
| 5 | %u беззнаковое десятичное целое число | 
| 6 | %o восьмеричное целое число | 
| 7 | %x шестнадцатеричное целое число (строчные буквы) | 
| 8 | %X шестнадцатеричное целое число (заглавные буквы) | 
| 9 | %e экспоненциальная запись (со строчной буквой "е") | 
| 10 | %E экспоненциальная запись (с заглавными буквами 'E') | 
| 11 | %f вещественное число с плавающей запятой | 
| 12 | %g короче из% f и% e | 
| 13 | %G короче из% f и% E | 
Другие поддерживаемые символы и функции перечислены в следующей таблице -
| Sr.No. | Символ и функции | 
|---|---|
| 1 | * аргумент определяет ширину или точность | 
| 2 | - левое выравнивание | 
| 3 | + показать знак | 
| 4 | <sp> оставьте пробел перед положительным числом | 
| 5 | # добавить восьмеричный начальный ноль («0») или шестнадцатеричный начальный «0x» или «0X», в зависимости от того, использовались ли «x» или «X». | 
| 6 | 0 прокладка слева с нулями (вместо пробелов) | 
| 7 | % '%%' оставляет вам единственный буквальный '%' | 
| 8 | (var) переменная сопоставления (аргументы словаря) | 
| 9 | m.n. m - минимальная общая ширина, а n - количество цифр, отображаемых после десятичной точки (если применимо). | 
Тройные цитаты
На помощь приходят тройные кавычки Python, позволяющие строкам занимать несколько строк, включая дословные NEWLINE, TAB и любые другие специальные символы.
Синтаксис тройных кавычек состоит из трех последовательных single or double цитаты.
#!/usr/bin/python3
para_str = """this is a long string that is made up of
several lines and non-printable characters such as
TAB ( \t ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [ \n ], or just a NEWLINE within
the variable assignment will also show up.
"""
print (para_str)Когда приведенный выше код выполняется, он дает следующий результат. Обратите внимание, как каждый специальный символ был преобразован в его печатную форму, вплоть до последней строки NEWLINE в конце строки между «вверх». и закрывающие тройные кавычки. Также обратите внимание, что NEWLINE появляются либо с явным возвратом каретки в конце строки, либо с ее escape-кодом (\ n) -
this is a long string that is made up of
several lines and non-printable characters such as
TAB (    ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [
 ], or just a NEWLINE within
the variable assignment will also show up.Необработанные строки вообще не рассматривают обратную косую черту как специальный символ. Каждый символ, который вы вводите в необработанную строку, остается таким, каким вы его написали -
#!/usr/bin/python3
print ('C:\\nowhere')Когда приведенный выше код выполняется, он дает следующий результат:
C:\nowhereТеперь воспользуемся необработанной строкой. Мы бы выразилисьr'expression' следующим образом -
#!/usr/bin/python3
print (r'C:\\nowhere')Когда приведенный выше код выполняется, он дает следующий результат:
C:\\nowhereСтрока Юникода
В Python 3 все строки представлены в Unicode. В Python 2 внутренне хранятся в виде 8-битного ASCII, поэтому необходимо добавить «u», чтобы сделать его Unicode. Теперь это больше не нужно.
Встроенные строковые методы
Python включает следующие встроенные методы для управления строками:
| Sr.No. | Методы и описание | 
|---|---|
| 1 | капитализировать () Делает первую букву строки заглавной | 
| 2 | центр (ширина, fillchar) Возвращает строку, заполненную fillchar, исходной строкой, центрированной до столбцов ширины . | 
| 3 | count (str, begin = 0, end = len (строка)) Подсчитывает, сколько раз str встречается в строке или в подстроке строки, если заданы начальный индекс begin и конечный конец индекса. | 
| 4 | декодировать (кодировка = 'UTF-8', errors = 'strict') Декодирует строку, используя кодек, зарегистрированный для кодирования. кодировка по умолчанию - строковая кодировка по умолчанию. | 
| 5 | кодировать (кодировка = 'UTF-8', ошибки = 'строгий') Возвращает закодированную строковую версию строки; при ошибке по умолчанию возникает ошибка ValueError, если ошибка не указана с помощью «игнорировать» или «заменить». | 
| 6 | заканчивается с (суффикс, начало = 0, конец = лен (строка)) Определяет, заканчивается ли строка или подстрока строки (если даны начало начального индекса и конечный конец индекса) суффиксом; возвращает true, если это так, и false в противном случае. | 
| 7 | expandtabs (tabsize = 8) Расширяет табуляцию в строке до нескольких пробелов; по умолчанию 8 пробелов на вкладку, если размер табуляции не указан. | 
| 8 | find (str, begin = 0 end = len (строка)) Определите, встречается ли str в строке или в подстроке строки, если заданы начальный индекс begin и конечный конец индекса, возвращает индекс, если он найден, и -1 в противном случае. | 
| 9 | index (str, begin = 0, end = len (строка)) То же, что и find (), но вызывает исключение, если str не найдена. | 
| 10 | isalnum () Возвращает true, если строка содержит хотя бы 1 символ, и все символы являются буквенно-цифровыми, и false в противном случае. | 
| 11 | isalpha () Возвращает true, если строка содержит хотя бы 1 символ и все символы буквенные, и false в противном случае. | 
| 12 | isdigit () Возвращает true, если строка содержит только цифры, и false в противном случае. | 
| 13 | islower () Возвращает истину, если строка содержит хотя бы один регистр, а все символы в регистре строчные, и ложь в противном случае. | 
| 14 | isnumeric () Возвращает true, если строка Unicode содержит только числовые символы, и false в противном случае. | 
| 15 | isspace () Возвращает true, если строка содержит только символы пробела, и false в противном случае. | 
| 16 | istitle () Возвращает истину, если строка правильно "заглавная", и ложь в противном случае. | 
| 17 | isupper () Возвращает true, если в строке есть хотя бы один регистр, а все символы в регистре - в верхнем регистре, и false в противном случае. | 
| 18 | присоединиться (seq) Объединяет (объединяет) строковые представления элементов в последовательности seq в строку с разделителем string. | 
| 19 | len (строка) Возвращает длину строки | 
| 20 | ljust (ширина [, fillchar]) Возвращает строку, заполненную пробелами, при этом исходная строка выровнена по левому краю до общей ширины столбцов. | 
| 21 год | нижний () Преобразует все прописные буквы в строке в строчные. | 
| 22 | lstrip () Удаляет все ведущие пробелы в строке. | 
| 23 | макетранс () Возвращает таблицу перевода, которая будет использоваться в функции перевода. | 
| 24 | макс (str) Возвращает максимальный алфавитный символ из строки str. | 
| 25 | мин (ул) Возвращает минимальный алфавитный символ из строки str. | 
| 26 | replace (old, new [, max]) Заменяет все вхождения old в строке новыми или не более чем max, если задано max. | 
| 27 | rfind (str, begin = 0, end = len (строка)) То же, что и find (), но поиск по строке в обратном направлении. | 
| 28 | rindex (str, begin = 0, end = len (строка)) То же, что index (), но поиск по строке в обратном направлении. | 
| 29 | rjust (ширина; [, fillchar]) Возвращает строку, заполненную пробелами, при этом исходная строка выровнена по правому краю до общей ширины столбцов. | 
| 30 | rstrip () Удаляет все завершающие пробелы в строке. | 
| 31 год | split (str = "", num = string.count (str)) Разбивает строку в соответствии с разделителем str (пробел, если он не указан) и возвращает список подстрок; если задано, разделить не более чем на количество подстрок. | 
| 32 | splitlines (num = string.count ('\ n')) Разбивает строку на все (или количество) NEWLINE и возвращает список каждой строки с удаленными NEWLINE. | 
| 33 | начинается с (str, begin = 0, end = len (строка)) Определяет, начинается ли строка или подстрока строки (если заданы начальный индекс begin и конечный конец индекса) с подстроки str; возвращает true, если это так, и false в противном случае. | 
| 34 | полоса ([символы]) Выполняет как lstrip (), так и rstrip () в строке | 
| 35 год | swapcase () Инвертирует регистр всех букв в строке. | 
| 36 | заглавие() Возвращает "заглавную" версию строки, то есть все слова начинаются с верхнего регистра, а остальные - с нижнего. | 
| 37 | перевести (таблица, deletechars = "") Переводит строку в соответствии с таблицей перевода str (256 символов), удаляя символы из строки del. | 
| 38 | верхний () Преобразует строчные буквы в прописные. | 
| 39 | zfill (ширина) Возвращает исходную строку с заполненными слева нулями до общей ширины символов; предназначенная для чисел, zfill () сохраняет любой заданный знак (минус один ноль). | 
| 40 | isdecimal () Возвращает true, если строка Unicode содержит только десятичные символы, и false в противном случае. |