Чтение онлайн

на главную - закладки

Жанры

Язык программирования Python
Шрифт:

>>> import string

>>> s = «one,two,three»

>>> print string.split(s, ",")

['one', 'two', 'three']

>>> print s.split(",")

['one', 'two', 'three']

В версии Python 3.0 функции, которые доступны через методы, более не будут дублироваться в модуле string.

В Python 2.4 появилась альтернатива использованию операции форматирования: класс Template. Пример:

Листинг

>>> import string

>>> tpl = string.Template("$a + $b = ${c}»)

>>> a = 2

>>> b = 3

>>> c = a + b

>>> print tpl.substitute(vars)

2 + 3 = 5

>>> del c #

удаляется имя c

>>> print tpl.safe_substitute(vars)

2 + 3 = $c

>>> print tpl.substitute(vars, c=a+b)

2 + 3 = 5

>>> print tpl.substitute(vars)

Traceback (most recent call last):

File "/home/rnd/tmp/Python–2.4b2/Lib/string.py», line 172, in substitute

return self.pattern.sub(convert, self.template)

File "/home/rnd/tmp/Python–2.4b2/Lib/string.py», line 162, in convert

val = mapping[named]

KeyError: 'c'

Объект–шаблон имеет два основных метода: substitute и safe_substitute. Значения для подстановки в шаблон берутся из словаря (vars содержит словарь со значениями переменных) или из именованных фактических параметров. Если есть неоднозначность в задании ключа, можно использовать фигурные скобки при написании ключа в шаблоне.

Методы строк

В таблице ниже приведены некоторые наиболее употребительные методы объектов–строк и unicode–объектов.

Метод Описание

center(w) Центрирует строку в поле длины w

count(sub) Число вхождений строки sub в строке

encode([enc[, errors]]) Возвращает строку в кодировке enc. Параметр errors может принимать значения «strict» (по умолчанию), «ignore», «replace» или «xmlcharrefreplace»

endswith(suffix) Оканчивается ли строка на suffix

expandtabs([tabsize]) Заменяет символы табуляции на пробелы. По умолчанию tabsize=8

find(sub [,start [,end]]) Возвращает наименьший индекс, с которого начинается вхождение подстроки sub в строку. Параметры start и end ограничивают поиск окном start:end, но возвращаемый индекс соответствует исходной строке. Если подстрока не найдена, возвращается–1

index(sub[, start[, end]]) Аналогично find, но возбуждает исключение ValueError в случае неудачи

alnum Возвращает True, если строка содержит только буквы и цифры и имеет ненулевую длину. Иначе — False

isalpha Возвращает True, если строка содержит только буквы и длина ненулевая

isdecimal Возвращает True, если строка содержит только десятичные знаки (только для строк Unicode) и длина ненулевая

isdigit Возвращает True,

если содержит только цифры и длина ненулевая

islower Возвращает True, если все буквы строчные (и их более одной), иначе — False

isnumeric Возвращает True, если в строке только числовые знаки (только для Unicode)

isspace Возвращает True, если строка состоит только из пробельных символов. Внимание! Для пустой строки возвращается False

join(seq) Соединение строк из последовательности seq через разделитель, заданный строкой

lower Приводит строку к нижнему регистру букв

lstrip Удаляет пробельные символы слева

replace(old, new[, n]) Возвращает копию строки, в которой подстроки old заменены new. Если задан параметр n, то заменяются только первые n вхождений

rstrip Удаляет пробельные символы справа

split([sep[, n]]) Возвращает список подстрок, получающихся разбиением строки a разделителем sep. Параметр n определяет максимальное количество разбиений (слева)

startswith(prefix) Начинается ли строка с подстроки prefix

strip Удаляет пробельные символы в начале и в конце строки

translate(table) Производит преобразование с помощью таблицы перекодировки table, содержащей словарь для перевода кодов в коды (или в None, чтобы удалить символ). Для Unicode–строк

translate(table[, dc]) То же, но для обычных строк. Вместо словаря — строка перекодировки на 256 символов, которую можно сформировать с помощью функции string.maketrans. Необязательный параметр dc задает строку с символами, которые необходимо удалить

upper Переводит буквы строки в верхний регистр

В следующем примере применяются методы split и join для разбиения строки в список (по разделителям) и обратное объединение списка строк в строку

Листинг

>>> s = «This is an example.»

>>> lst = s.split(" ")

>>> print lst

['This', 'is', 'an', 'example.']

>>> s2 = "\n».join(lst)

>>> print s2

This

is

an

example.

Для проверки того, оканчивается ли строка на определенное сочетание букв, можно применить метод endswith:

Листинг

>>> filenames = [«file.txt», «image.jpg», «str.txt»]

>>> for fn in filenames:

… if fn.lower.endswith(".txt»):

… print fn

file.txt

str.txt

Поиск в строке можно осуществить с помощью метода find. Следующая программа выводит все функции, определенные в модуле оператором def:

Листинг

import string

text = open(string.__file__[: — 1]).read

start = 0

while 1:

found = text.find(«def ", start)

Поделиться:
Популярные книги

Идеальный мир для Лекаря 26

Сапфир Олег
26. Лекарь
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 26

Камень Книга одиннадцатая

Минин Станислав
11. Камень
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Камень Книга одиннадцатая

Последний Паладин. Том 12

Саваровский Роман
12. Путь Паладина
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Последний Паладин. Том 12

Кодекс Охотника. Книга II

Винокуров Юрий
2. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
боевая фантастика
юмористическое фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга II

Поступь Империи

Ланцов Михаил Алексеевич
7. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Поступь Империи

Кодекс Охотника. Книга XXXIX

Сапфир Олег
39. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
боевая фантастика
5.00
рейтинг книги
Кодекс Охотника. Книга XXXIX

Звездная Кровь. Изгой II

Елисеев Алексей Станиславович
2. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
технофэнтези
рпг
5.00
рейтинг книги
Звездная Кровь. Изгой II

Последний Герой. Том 4

Дамиров Рафаэль
Последний герой
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Последний Герой. Том 4

Санек 2

Седой Василий
2. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Санек 2

Я еще князь. Книга XX

Дрейк Сириус
20. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я еще князь. Книга XX

Жестокая свадьба

Тоцка Тала
Любовные романы:
современные любовные романы
4.87
рейтинг книги
Жестокая свадьба

Запечатанный во тьме. Том 1. Тысячи лет кача

NikL
1. Хроники Арнея
Фантастика:
уся
эпическая фантастика
фэнтези
5.00
рейтинг книги
Запечатанный во тьме. Том 1. Тысячи лет кача

Искатель 2

Шиленко Сергей
2. Валинор
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Искатель 2

Бояръ-Аниме. Газлайтер. Том 33

Володин Григорий Григорьевич
33. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 33