>u2 = u'Еще пример' # не забудьте про coding!
Для строк имеется еще одна разновидность: необработанные строковые литералы. В этих литералах обратная косая черта и следующие за ней символы не интерпретируются как спецсимволы, а вставляются в строку «как есть»:
>my_re = r"(\d)=\1"
Обычно такие строки требуются для записи регулярных выражений (о них пойдет речь в лекции, посвященной обработке текстовой информации).
Набор операций над строками включает конкатенацию «>+
», повтор ">*
", форматирование ">%
". Также строки имеют большое количество методов, некоторые из которых приведены ниже. Полный набор методов (и их необязательных аргументов) можно получить в документации по Python.
>>>> "A" + "B"
>'AB'
>>>> "A"*10
>'AAAAAAAAAA'
>>>> "%s %i" % ("abc", 12)
>'abc 12'
Некоторые методы строковых объектов будут рассмотрены в лекции, посвященной обработке текстов.
Тип tuple
Для представления константной последовательности (разнородных) объектов используется тип кортеж. Литерал кортежа обычно записывается в круглых скобках, но можно, если не возникают неоднозначности, писать и без них. Примеры записи кортежей:
>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
Тип list
В «чистом» 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] | Удаление элементов среза из последовательности |