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

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

Жанры

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

Полный перечень кодировок (и их псевдонимов):

Листинг

>>> import encodings.aliases

>>> print encodings.aliases.aliases

{'iso_ir_6': 'ascii', 'maccyrillic': 'mac_cyrillic',

'iso_celtic': 'iso8859_14', 'ebcdic_cp_wt': 'cp037',

'ibm500': 'cp500', …

Если кодировка не указана, то считается, что используется us–ascii. При этом интерпретатор Python будет выдавать предупреждения при запуске модуля:

Листинг

sys:1: DeprecationWarning: Non–ASCII character '\xf0' in file example.py

on line 2, but no encoding declared;

seefor details

Строковые

литералы

Строки можно задать в программе с помощью строковых литералов. Литералы записываются с использованием апострофов ', кавычек " или этих же символов, взятых трижды. Внутри литералов обратная косая черта имеет специальное значение. Она служит для ввода специальных символов и для указания символов через коды. Если перед строковым литералом поставлено r, обратная косая черта не имеет специального значения (r от английского слова raw, строка задается «как есть»). Unicode–литералы задаются с префиксом u. Вот несколько примеров:

Листинг

s1 = «строка 1»

s2 = r'\1\2'

s3 = ""«apple\ntree»"" # \n — символ перевода строки

s4 = ""«apple

tree»"" # строка в утроенных кавычках может иметь внутри переводы строк

s5 = '\x73\65'

u1 = u»Unicode literal»

u2 = u'\u0410\u0434\u0440\u0435\u0441'

Примечание:

Обратная косая черта не должна быть последним символом в литерале, то есть, «str\" вызовет синтаксическую ошибку.

Указание кодировки позволяет применять в Unicode–литералах указанную в начале программы кодировку. Если кодировка не указана, можно пользоваться только кодами символов, заданными через обратную косую черту.

Операции над строками

К операциям над строками, которые имеют специальную синтаксическую поддержку в языке, относятся, в частности конкатенация (склеивание) строк, повторение строки, форматирование:

Листинг

>>> print «A» + «B», «A»*5, "%s» % «A»

AB AAAAA A

В операции форматирования левый операнд является строкой формата, а правый может быть либо кортежем, либо словарем, либо некоторым значением другого типа:

Листинг

>>> print "%i» % 234

234

>>> print "%i %s %3.2f» % (5, «ABC», 23.45678)

5 ABC 23.46

>>> a = 123

>>> b = [1, 2, 3]

>>> print "%(a)i: %(b)s» % vars

123: [1, 2, 3]

Операция форматирования

В строке формата кроме текста могут употребляться спецификации, регламентирующие формат выводимого значения. Спецификация имеет синтаксис

Листинг

"%" [ключ][флаг*][шир][.точность][длина_типа]спецификатор

ключ:

«(" символ за исключением круглых скобок* ")»

флаг: «+» | «-» | пробел | "#" | «0»

шир: («1» … «9»)(«0» … «9»)* | "*"

точность: («1» … «9»)* | "*"

длина_типа: «a» … «z» | «A» … «Z»

спецификатор: «a» … «z» | «A» … «Z» | "%"

Где символы обозначают следующее:

Листинг

ключ

Ключ из словаря.

Листинг

флаги

Дополнительные свойства преобразования.

Листинг

шир

Минимальная ширина поля.

Листинг

точность

Точность (для чисел с плавающей запятой).

Листинг

длина_типа

Модификатор типа.

Листинг

спецификатор

Тип представления выводимого объекта.

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

Символ Где применяется Что указывает

0 флаг Заполнение нулями слева

— флаг Выравнивание по левому краю

+ флаг Обязательный вывод знака числа

пробел флаг Использовать пробел на месте знака числа

d, i спецификатор Знаковое целое

u спецификатор Беззнаковое целое

o спецификатор Восьмеричное беззнаковое целое

x, X спецификатор Шестнадцатеричное беззнаковое целое (со строчными или прописными латинскими буквами)

e, E спецификатор Число с плавающей запятой в формате с экспонентой

f, F спецификатор Число с плавающей запятой

g, G спецификатор Число с плавающей точкой в более коротком написании (автоматически выбирается e или f)

с спецификатор Одиночный символ (целое число или односимвольная строка)

r спецификатор Любой объект, приведенный к строке функцией repr

s спецификатор Любой объект, приведенный к строке функцией str

% спецификатор Знак процента. Для задания одиночного процента необходимо записать %%

Индексы и срезы

Следует напомнить, что строки являются неизменчивыми последовательностями, поэтому к ним можно применять операции взятия элемента по индексу и срезы:

Листинг

>>> s = «транспорт»

>>> print s[0], s[-1]

т т

>>> print s[-4:]

порт

>>> print s[:5]

транс

>>> print s[4:8]

спор

Примечание:

При выделении среза нумеруются не символы строки, а промежутки между ними.

Модуль string

До того как у строк появились методы, для операций над строками применялся модуль string. Приведенный пример демонстрирует, как вместо функции из string использовать метод (кстати, последнее более эффективно):

Листинг

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

Сын Тишайшего

Яманов Александр
1. Царь Федя
Фантастика:
попаданцы
альтернативная история
фэнтези
5.20
рейтинг книги
Сын Тишайшего

"Искажающие реальность" Компиляция. Книги 1-14

Атаманов Михаил Александрович
Искажающие реальность
Фантастика:
боевая фантастика
космическая фантастика
киберпанк
рпг
5.00
рейтинг книги
Искажающие реальность Компиляция. Книги 1-14

Школа. Первый пояс

Игнатов Михаил Павлович
2. Путь
Фантастика:
фэнтези
7.67
рейтинг книги
Школа. Первый пояс

Невеста на откуп

Белецкая Наталья
2. Невеста на откуп
Фантастика:
фэнтези
5.83
рейтинг книги
Невеста на откуп

Убивать чтобы жить 2

Бор Жорж
2. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 2

Вперед в прошлое!

Ратманов Денис
1. Вперед в прошлое
Фантастика:
попаданцы
5.00
рейтинг книги
Вперед в прошлое!

Аргумент барона Бронина 4

Ковальчук Олег Валентинович
4. Аргумент барона Бронина
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Аргумент барона Бронина 4

Измена. (Не)любимая жена олигарха

Лаванда Марго
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. (Не)любимая жена олигарха

Измена. Право на обман

Арская Арина
2. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Право на обман

Бастард Императора. Том 7

Орлов Андрей Юрьевич
7. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 7

Жаба с кошельком

Донцова Дарья
19. Любительница частного сыска Даша Васильева
Детективы:
иронические детективы
8.26
рейтинг книги
Жаба с кошельком

Бастард Императора. Том 11

Орлов Андрей Юрьевич
11. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 11

Академия чаросвет. Тень

Ярошинская Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Академия чаросвет. Тень

Наследие Маозари 4

Панежин Евгений
4. Наследие Маозари
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Наследие Маозари 4