с переводом строки внутри"""
u1 = u'\u043f\u0440\u0438\u0432\u0435\u0442' # привет
u2 = u'Еще пример' # не забудьте про coding!
Для строк имеется еще одна разновидность: необработанныестроковые литералы. В этих литералах обратная косая черта и следующие за ней символы не интерпретируются как спецсимволы, а вставляются в строку «как есть»:
my_re = r"(\d)=\1"
Обычно такие строки требуются для записи регулярных выражений (о них пойдет речь в лекции, посвященной обработке текстовой информации).
Набор операций над строками включает конкатенацию« +
», повтор" *
", форматирование" %
". Также строки имеют большое количество методов, некоторые из которых приведены ниже. Полный набор методов (и их необязательных аргументов) можно получить в документации по Python.
>>> "A" + "B"
'AB'
>>> "A"*10
'AAAAAAAAAA'
>>> "%s %i" % ("abc", 12)
'abc 12'
Некоторые методы строковых объектов будут рассмотрены в лекции, посвященной обработке текстов.
Для представления константной последовательности (разнородных) объектов используется тип кортеж. Литерал кортежа обычно записывается в круглых скобках, но можно, если не возникают неоднозначности, писать и без них. Примеры записи кортежей:
p = (1.2, 3.4, 0.9) # точка в трехмерном пространстве
for s in "one", "two", "three": # цикл по значениям кортежа
print s
one_item = (1,)
empty = ()
p1 = 1, 3, 9 # без скобок
p2 = 3, 8, 5, # запятая в конце игнорируется
Использовать синтаксис кортежей можно и в левой части оператора присваивания. В этом случае на основе вычисленных справа значений формируется кортеж и связывается один в один с именами в левой части. Поэтому обмен значениями записывается очень изящно:
a, b = b, a
В «чистом» Python нет массивов с произвольным типом элемента. Вместо них используются списки. Их можно задать с помощью литералов, записываемых в квадратных скобках, или посредством списковых включений. Варианты задания списка приведены ниже:
lst1 = [1, 2, 3,]
lst2 = [x**2 for x in range(10) if x % 2 == 1]
lst3 = list("abcde")
Для работы со списками существует несколько методов, дополнительных к тем, что имеют неизменчивые последовательности. Все они связаны с изменением списка.
Ниже обобщены основные методы последовательностей. Следует напомнить, что последовательности бывают неизменчивыми и изменчивыми. У последних методов чуть больше.
Синтаксис |
Семантика |
len(s) |
Длина последовательности s |
x in s |
Проверка принадлежности элемента последовательности. В новых версиях Python можно проверять принадлежность подстроки строке. Возвращает True или False |
x not in s |
= not x in s |
s + s1 |
Конкатенация последовательностей |
s*n или n*s |
Последовательность из n раз повторенной s . Если n < 0 , возвращается пустая последовательность. |
s[i] |
Возвращает i –й элемент s или len(s)+i –й, если i < 0 |
s[i:j:d] |
Срез из последовательности s от i до j с шагом d будет рассматриваться ниже |
min(s) |
Наименьший элемент s |
max(s) |
Наибольший элемент s |
Дополнительные конструкции для изменчивых последовательностей:
s[i] = x |
i –й элемент списка s заменяется на x |
s[i:j:d] = t |
Срез от i до j (с шагом d ) заменяется на (список) t |
del s[i:j:d] |
Удаление элементов среза из последовательности |
Некоторые методы для работы с последовательностями
В таблице приведен ряд методов изменчивых последовательностей (например, списков).
Метод |
Описание |
append(x) |
Добавляет элемент в конец последовательности |
count(x) |
Считает количество элементов, равных x |
extend(s) |
Добавляет к концу последовательности последовательность |
index(x) |
Возвращает наименьшее i , такое, что s[i] == x . Возбуждает исключение ValueError , если x не найден в s |
insert(i, x) |
Вставляет элемент x в i –й промежуток |
pop(i) |
Возвращает i –й элемент, удаляя его из последовательности |
reverse() |
Меняет порядок элементов s на обратный |
sort([cmpfunc]) |
Сортирует элементы s . Может быть указана своя функция сравнения cmpfunc |
Взятие элемента по индексу и срезы
Здесь же следует сказать несколько слов об индексировании последовательностей и выделении подстрок (и вообще — подпоследовательностей) по индексам. Для получения отдельного элемента последовательности используются квадратные скобки, в которых стоит выражение, дающее индекс. Индексы последовательностей в Python начинаются с нуля. Отрицательные индексы служат для отсчета элементов с конца последовательности ( -1
— последний элемент). Пример проясняет дело:
Читать дальше
Конец ознакомительного отрывка
Купить книгу