Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
pythonworldru.pdf
Скачиваний:
253
Добавлен:
11.03.2016
Размер:
709.75 Кб
Скачать

Глава 11

Строки. Функции и методы строк

Итак, о работе со строками мы немного поговорили, теперь поговорим о функциях и ме-

тодах строк.

Я постарался собрать здесь все строковые методы и функции, но если я что-то забыл - поправляйте.

11.1 Базовые операции

Конкатенация (сложение)

>>>S1 = 'spam'

>>>S2 = 'eggs'

>>>print(S1 + S2) 'spameggs'

Дублирование строки

>>>print('spam' * 3) spamspamspam

Длина строки (функция len)

>>>len('spam')

4

Доступ по индексу

>>>S = 'spam'

>>>S[0]

's'

>>>S[2]

'a'

>>>S[-2]

'a'

Как видно из примера, в Python возможен и доступ по отрицательному индексу, при этом отсчет идет от конца строки.

33

Самоучитель Python, Выпуск 0.2

Извлечение среза

Оператор извлечения среза: [X:Y]. X – начало среза, а Y – окончание;

символ с номером Y в срез не входит. По умолчанию первый индекс равен 0, а второй - длине строки.

>>>s = 'spameggs'

>>>s[3:5]

'me'

>>>s[2:-2] 'ameg'

>>>s[:6] 'spameg'

>>>s[1:] 'pameggs'

>>>s[:]

'spameggs'

Кроме того, можно задать шаг, с которым нужно извлекать срез.

>>>s[::-1] 'sggemaps'

>>>s[3:5:-1]

''

>>>s[2::2] 'aeg'

11.2Другие функции и методы строк

При вызове методов необходимо помнить, что строки в Python относятся к категории неизменяемых последовательностей, то есть все функции и методы могут лишь создавать новую строку.

>>>s = 'spam'

>>>s[1] = 'b'

Traceback (most recent call last): File "", line 1, in

s[1] = 'b'

TypeError: 'str' object does not support item assignment

>>>s = s[0] + 'b' + s[2:]

>>>s

'sbam'

Поэтому все строковые методы возвращают новую строку, которую потом следует присвоить переменной.

11.3 Таблица “Функции и методы строк”

11.2. Другие функции и методы строк

34

 

 

 

Самоучитель Python, Выпуск 0.2

 

Функция или метод

 

Назначение

 

 

 

 

 

 

S = ‘str’; S = “str”; S = ‘’‘str’‘’; S = “”“str”“”

 

Литералы строк

 

 

 

S = “s\np\ta\nbbb”

 

Экранированные последовательности

 

 

 

S = r”C:\temp\new”

 

Неформатированные строки (подавляют

 

 

 

S = b”byte”

 

экранирование)

 

 

 

 

Строка байтов

 

 

 

S1 + S2

 

Конкатенация (сложение строк)

 

 

 

S1 * 3

 

Повторение строки

 

 

 

S[i]

 

Обращение по индексу

 

 

 

S[i:j:step]

 

Извлечение среза

 

 

 

len(S)

 

Длина строки

 

 

 

S.1nd(str, [start],[end])

 

Поиск подстроки в строке. Возвращает но-

 

 

 

S.r1nd(str, [start],[end])

 

мер первого вхождения или -1

 

 

 

 

Поиск подстроки в строке. Возвращает но-

 

 

 

S.index(str, [start],[end])

 

мер последнего вхождения или -1

 

 

 

 

Поиск подстроки в строке. Возвращает

 

 

 

 

 

номер первого вхождения или вызывает

 

 

 

S.rindex(str, [start],[end])

 

ValueError

 

 

 

 

Поиск подстроки в строке. Возвращает но-

 

 

 

 

 

мер последнего вхождения или вызывает

 

 

 

S.replace(шаблон, замена)

 

ValueError

 

 

 

 

Замена шаблона

 

 

 

S.split(символ)

 

Разбиение строки по разделителю

 

 

 

S.isdigit()

 

Состоит ли строка из цифр

 

 

 

S.isalpha()

 

Состоит ли строка из букв

 

 

 

S.isalnum()

 

Состоит ли строка из цифр или букв

 

 

 

S.islower()

 

Состоит ли строка из символов в нижнем

 

 

 

S.isupper()

 

регистре

 

 

 

 

Состоит ли строка из символов в верхнем

 

 

 

S.isspace()

 

регистре

 

 

 

 

Состоит ли строка из неотображаемых

 

 

 

 

 

символов (пробел, символ перевода стра-

 

 

 

 

 

ницы (‘\f’), “новая строка” (‘\n’), “пере-

 

 

 

 

 

вод каретки” (‘\r’), “горизонтальная табу-

 

 

 

 

 

ляция” (‘\t’) и “вертикальная табуляция”

 

 

 

S.istitle()

 

(‘\v’))

 

 

 

 

Начинаются ли слова в строке с заглавной

 

 

 

S.upper()

 

буквы

 

 

 

 

Преобразование строки к верхнему реги-

 

 

 

S.lower()

 

стру

 

 

 

 

Преобразование строки к нижнему реги-

 

 

 

S.startswith(str)

 

стру

 

 

 

 

Начинается ли строка S с шаблона str

 

 

 

S.endswith(str)

 

Заканчивается ли строка S шаблоном str

 

 

 

S.join(список)

 

Сборка строки из списка с разделителем S

 

 

 

ord(символ)

 

Символ в его код ASCII

 

 

 

 

 

Продолжается на следующей странице

 

 

11.3. Таблица “Функции и методы строк”

35

 

 

 

Самоучитель Python, Выпуск 0.2

 

Table 11.1 – продолжение с предыдущей страницы

 

Функция или метод

 

Назначение

 

 

 

 

 

 

chr(число)

 

Код ASCII в символ

 

 

 

S.capitalize()

 

Переводит первый символ строки в верх-

 

 

 

S.center(width, [1ll])

 

ний регистр, а все остальные в нижний

 

 

 

 

Возвращает отцентрованную строку, по

 

 

 

 

 

краям которой стоит символ 1ll (пробел по

 

 

 

S.count(str, [start],[end])

 

умолчанию)

 

 

 

 

Возвращает количество непересекающих-

 

 

 

 

 

ся вхождений подстроки в диапазоне [на-

 

 

 

 

 

чало, конец] (0 и длина строки по умолча-

 

 

 

S.expandtabs([tabsize])

 

нию)

 

 

 

 

Возвращает копию строки, в которой все

 

 

 

 

 

символы табуляции заменяются одним

 

 

 

 

 

или несколькими пробелами, в зависимо-

 

 

 

 

 

сти от текущего столбца. Если TabSize не

 

 

 

 

 

указан, размер табуляции полагается рав-

 

 

 

S.lstrip([chars])

 

ным 8 пробелам

 

 

 

 

Удаление пробельных символов в начале

 

 

 

S.rstrip([chars])

 

строки

 

 

 

 

Удаление пробельных символов в конце

 

 

 

S.strip([chars])

 

строки

 

 

 

 

Удаление пробельных символов в начале

 

 

 

S.partition(шаблон)

 

и в конце строки

 

 

 

 

Возвращает кортеж, содержащий часть

 

 

 

 

 

перед первым шаблоном, сам шаблон, и

 

 

 

 

 

часть после шаблона. Если шаблон не най-

 

 

 

 

 

ден, возвращается кортеж, содержащий

 

 

 

S.rpartition(sep)

 

саму строку, а затем две пустых строки

 

 

 

 

Возвращает кортеж, содержащий часть

 

 

 

 

 

перед последним шаблоном, сам шаблон,

 

 

 

 

 

и часть после шаблона. Если шаблон не

 

 

 

 

 

найден, возвращается кортеж, содержа-

 

 

 

 

 

щий две пустых строки, а затем саму стро-

 

 

 

S.swapcase()

 

ку

 

 

 

 

Переводит символы нижнего регистра в

 

 

 

S.title()

 

верхний, а верхнего – в нижний

 

 

 

 

Первую букву каждого слова переводит в

 

 

 

 

 

верхний регистр, а все остальные в ниж-

 

 

 

S.z1ll(width)

 

ний

 

 

 

 

Делает длину строки не меньшей width, по

 

 

 

 

 

необходимости заполняя первые символы

 

 

 

S.ljust(width, 1llchar=” ”)

 

нулями

 

 

 

 

Делает длину строки не меньшей width, по

 

 

 

 

 

необходимости заполняя последние сим-

 

 

 

 

 

волы символом 1llchar

 

 

 

 

 

Продолжается на следующей странице

 

 

 

 

 

11.3. Таблица “Функции и методы строк”

36

 

 

 

Самоучитель Python, Выпуск 0.2

 

Table 11.1 – продолжение с предыдущей страницы

 

Функция или метод

 

Назначение

 

 

 

 

 

 

S.rjust(width, 1llchar=” ”)

 

Делает длину строки не меньшей width, по

 

 

 

 

 

необходимости заполняя первые символы

 

 

 

S.format(*args, **kwargs)

 

символом 1llchar

 

 

 

 

Форматирование строки

 

 

11.3. Таблица “Функции и методы строк”

37

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]