Строки являются одними из самых популярных типов в 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 | Звонок или оповещение |
\ б | 0x08 | возврат на одну позицию |
\ сх | Контроль-х | |
\ Cx | Контроль-х | |
\ е | 0x1b | Побег |
\ е | 0x0c | Под.стр |
\ M- \ Cx | Meta-Control-х | |
\ п | 0x0a | Новая линия |
\ NNN | Восьмеричное обозначение, где n находится в диапазоне 0,7 | |
\р | 0x0d | Возврат каретки |
\ s | 0x20 | Космос |
\ т | 0x09 | табуляция |
\ v | 0x0B | Вертикальная вкладка |
\Икс | Персонаж х | |
\ Хпп | Шестнадцатеричное обозначение, где n находится в диапазоне 0,9, af или AF |
Строковые специальные операторы
Предположим, что строковая переменная a содержит «Hello», а переменная b содержит «Python», тогда —
оператор | Описание | пример |
---|---|---|
+ | Конкатенация — добавляет значения по обе стороны от оператора | a + b даст HelloPython |
* | Повторение — создает новые строки, объединяя несколько копий одной и той же строки | * 2 даст -HelloHello |
[] | Slice — дает символ из заданного индекса | [1] даст е |
[:] | Range Slice — дает персонажей из заданного диапазона | [1: 4] даст все |
в | Членство — возвращает true, если в указанной строке есть символ | H в даст 1 |
не в | Членство — возвращает значение true, если символ не существует в данной строке | М не в дадут 1 |
г / Р | Raw String — Подавляет фактическое значение символов Escape. Синтаксис для необработанных строк точно такой же, как и для обычных строк, за исключением оператора необработанной строки, буквы «r», которая предшествует кавычкам. Буква «r» может быть строчной (r) или прописной (R) и должна быть расположена непосредственно перед первой кавычкой. | напечатайте r ‘\ n’ print \ n и напечатайте R ‘\ n’prints \ n |
% | Формат — выполняет форматирование строки | Смотрите в следующем разделе |
Оператор форматирования строки
Одна из самых крутых возможностей Python — это оператор формата строки%. Этот оператор уникален для строк и компенсирует набор функций из семейства C printf (). Ниже приведен простой пример —
#!/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 |
% с персонаж |
2 |
% s преобразование строки через str () перед форматированием |
3 |
%я знаковое десятичное целое |
4 |
% d знаковое десятичное целое |
5 |
% U целое число без знака |
6 |
% о восьмеричное целое |
7 |
%Икс шестнадцатеричное целое (строчные буквы) |
8 |
%ИКС шестнадцатеричное целое (заглавные буквы) |
9 |
% е экспоненциальная запись (строчными буквами «е») |
10 |
% E экспоненциальная запись (с верхним регистром ‘E’) |
11 |
% е вещественное число с плавающей точкой |
12 |
%г короче% f и% e |
13 |
%Г короче% f и% E |
% с
персонаж
% s
преобразование строки через str () перед форматированием
%я
знаковое десятичное целое
% d
знаковое десятичное целое
% U
целое число без знака
% о
восьмеричное целое
%Икс
шестнадцатеричное целое (строчные буквы)
%ИКС
шестнадцатеричное целое (заглавные буквы)
% е
экспоненциальная запись (строчными буквами «е»)
% E
экспоненциальная запись (с верхним регистром ‘E’)
% е
вещественное число с плавающей точкой
%г
короче% f и% e
%Г
короче% f и% E
Другие поддерживаемые символы и функции перечислены в следующей таблице.
Sr.No. | Символ & Функциональность |
---|---|
1 |
* аргумент указывает ширину или точность |
2 |
— левое оправдание |
3 |
+ показать знак |
4 |
<зр> оставьте пробел перед положительным числом |
5 |
# добавьте восьмеричный начальный ноль (‘0’) или шестнадцатеричный ведущий ‘0x’ или ‘0X’, в зависимости от того, были ли использованы ‘x’ или ‘X’. |
6 |
0 накладка слева с нулями (вместо пробелов) |
7 |
% «%%» оставляет вас с одним литералом «%» |
8 |
(вар) переменная сопоставления (словарные аргументы) |
9 |
Миннесота m — минимальная общая ширина, а n — количество цифр, отображаемых после десятичной точки (если применимо). |
*
аргумент указывает ширину или точность
—
левое оправдание
+
показать знак
<зр>
оставьте пробел перед положительным числом
#
добавьте восьмеричный начальный ноль (‘0’) или шестнадцатеричный ведущий ‘0x’ или ‘0X’, в зависимости от того, были ли использованы ‘x’ или ‘X’.
0
накладка слева с нулями (вместо пробелов)
%
«%%» оставляет вас с одним литералом «%»
(вар)
переменная сопоставления (словарные аргументы)
Миннесота
m — минимальная общая ширина, а n — количество цифр, отображаемых после десятичной точки (если применимо).
Тройные цитаты
Выручают тройные кавычки Python, позволяя строкам занимать несколько строк, включая дословные NEWLINE, TAB и любые другие специальные символы.
Синтаксис для тройных кавычек состоит из трех последовательных одинарных или двойных кавычек.
#!/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
Unicode String
В Python 3 все строки представлены в Unicode. В Python 2 хранятся внутренне как 8-битный ASCII, поэтому требуется сделать ‘u’, чтобы сделать его Unicode. Это больше не нужно сейчас.
Встроенные Строковые Методы
Python включает следующие встроенные методы для работы со строками:
Прописывает первую букву строки
Возвращает строку, заполненную заполнителем, с исходной строкой, центрированной по столбцам общей ширины .
Подсчитывает, сколько раз встречается str в строке или в подстроке строки, если заданы начальный индекс beg и конечный индекс end.
Декодирует строку с использованием кодека, зарегистрированного для кодирования. по умолчанию используется строковое кодирование по умолчанию.
Возвращает закодированную строковую версию строки; в случае ошибки по умолчанию вызывается ошибка ValueError, если ошибки не указаны с помощью «игнорировать» или «заменить».
Определяет, заканчивается ли строка или подстрока строки (если задан начальный индекс begin и end index end) суффиксом; возвращает true, если так, и false в противном случае.
Расширяет вкладки в строке до нескольких пробелов; по умолчанию 8 пробелов на вкладку, если размер табуляции не указан.
Определите, встречается ли str в строке или в подстроке строки, если начальный индекс beg и конечный индекс end заданы, возвращает индекс, если он найден, и -1 в противном случае.
То же, что find (), но вызывает исключение, если str не найден.
Возвращает true, если строка содержит хотя бы 1 символ, а все символы буквенно-цифровые, в противном случае — false.
Возвращает true, если строка содержит хотя бы 1 символ, а все символы в алфавитном порядке и false в противном случае.
Возвращает true, если строка содержит только цифры, и false в противном случае.
Возвращает true, если строка содержит хотя бы 1 символ в регистре, а все символы в регистре строчные, в противном случае — false.
Возвращает true, если строка Unicode содержит только числовые символы, и false в противном случае.
Возвращает true, если строка содержит только пробельные символы, и false в противном случае.
Возвращает true, если строка правильно «titlecased» и false в противном случае.
Возвращает true, если строка содержит хотя бы один символ в регистре, и все символы в регистре прописные, в противном случае — false.
Объединяет (объединяет) строковые представления элементов последовательности seq в строку со строкой-разделителем.
Возвращает длину строки
Возвращает заполненную пробелами строку с исходной строкой, выровненной по левому краю, с общей шириной столбцов.
Преобразует все заглавные буквы в строке в строчные.
Удаляет все начальные пробелы в строке.
Возвращает таблицу перевода, которая будет использоваться в функции перевода.
Возвращает максимальный алфавитный символ из строки str.
Возвращает минимальный алфавитный символ из строки str.
Заменяет все вхождения old в string новыми или не более max вхождениями, если задано max.
То же, что find (), но поиск в строке назад.
То же, что index (), но поиск в строке назад.
Возвращает заполненную пробелами строку с исходной строкой, выровненной по правому краю на сумму столбцов ширины.
Удаляет все завершающие пробелы строки.
Разбивает строку в соответствии с разделителем str (пробел, если не указан) и возвращает список подстрок; разбить на самое большее количество подстрок, если дано.
Разбивает строку на все (или num) NEWLINEs и возвращает список каждой строки с удаленными NEWLINEs.
Определяет, начинается ли строка или подстрока строки (если задан начальный индекс, начало и конец индекса) с подстроки str; возвращает true, если так, и false в противном случае.
Выполняет lstrip () и rstrip () для строки
Инвертирует регистр для всех букв в строке.
Возвращает «stringcased» версию строки, то есть все слова начинаются с заглавной буквы, а остальные строчные.
Переводит строку в соответствии с таблицей перевода str (256 символов), удаляя их из строки del.
Преобразует строчные буквы в строке в прописные.
Возвращает исходную строку, заполненную нулями слева, до общей ширины символов; предназначен для чисел, zfill () сохраняет любой заданный знак (кроме одного нуля).
Возвращает true, если строка Unicode содержит только десятичные символы, и false в противном случае.