Учебники

Python 3 — Струны

Строки являются одними из самых популярных типов в Python. Мы можем создать их, просто заключив символы в кавычки. Python обрабатывает одинарные кавычки так же, как двойные. Создание строк так же просто, как присвоение значения переменной. Например —

var1 = 'Hello World!'
var2 = "Python Programming"

Доступ к значениям в строках

Python не поддерживает тип символов; они обрабатываются как строки длины один, таким образом также считаются подстрокой.

Чтобы получить доступ к подстрокам, используйте квадратные скобки для нарезки вместе с индексом или индексами, чтобы получить вашу подстроку. Например —

Live Demo

#!/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

Обновление строк

Вы можете «обновить» существующую строку путем (пере) присвоения переменной другой строке. Новое значение может быть связано с его предыдущим значением или с совершенно другой строкой. Например —

Live Demo

#!/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 (). Ниже приведен простой пример —

Live Demo

#!/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 и любые другие специальные символы.

Синтаксис для тройных кавычек состоит из трех последовательных одинарных или двойных кавычек.

Live Demo

#!/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.

Необработанные строки вообще не обрабатывают обратную косую черту как специальный символ. Каждый символ, который вы помещаете в необработанную строку, остается таким же, каким вы его написали —

Live Demo

#!/usr/bin/python3

print ('C:\\nowhere')

Когда приведенный выше код выполняется, он дает следующий результат —

C:\nowhere

Теперь давайте воспользуемся необработанной строкой. Мы бы выразили выражение в r’expression ‘ следующим образом:

Live Demo

#!/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 в противном случае.