Наоми Седер - Python. Экспресс-курс
- Название:Python. Экспресс-курс
- Автор:
- Жанр:
- Издательство:Питер
- Год:2019
- ISBN:978-5-4461-0908-1
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Наоми Седер - Python. Экспресс-курс краткое содержание
Наоми Седер рассказывает не только об основных особенностях языка Python, но и его объектно-ориентированных возможностях, которые появились в Python 3. Данное издание учитывает все изменения, которые произошли с языком за последние 5 лет, а последние 5 глав рассказывают о работе с большими данными.
Python. Экспресс-курс - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
6.2. Основные операции со строкамиПростейший (и пожалуй, самый распространенный) способ объединения строк Python основан на использовании оператора конкатенации строк + : >>> x = "Hello " + "World"
>>> x
'Hello World'
В Python также существует аналогичный оператор умножения строк, который иногда (но не так часто) оказывается полезным:
>>> 8 * "x"
'xxxxxxxx'
6.3. Специальные символы и экранированные последовательности
Вы уже видели некоторые последовательности, которые Python особым образом интерпретирует при работе со строками: \n представляет символ новой строки, а \t — символ табуляции. Последовательности символов, начинающиеся с об-ратного слеша и используемые для представления других символов, называются экранированными последовательностями . Экранированные последовательности обычно используются для представления специальных символов , то есть символов (например, табуляций и новых строк), не имеющих стандартного односимвольного
печатного представления. В этом разделе экранированные последовательности, специальные символы и сопутствующие темы будут рассмотрены более подробно.
6.3.1. Основные экранированные последовательностиPython предоставляет короткий перечень двухсимвольных экранированных по-следовательностей для использования в строках (табл. 6.1). Эти последователь-ности также могут использоваться с объектами байтовых строк, которые будут представлены в конце главы.
Таблица 6.1. Экранированные последовательности для строковых и байтовыхлитералов

Набор символов ASCII, используемый Python и являющийся стандартным почти на всех компьютерах, определяет еще несколько специальных символов. Для об-ращения к этим символам используются числовые экранированные последователь-ности, описанные в следующем разделе.
6.3.2. Числовые экранированные последовательности (восьмеричные и шестнадцатеричные) и ЮникодВы можете включить в строку любой ASCII-символ, указав восьмеричную (ос-нование 8) или шестнадцатеричную (основание 16) экранированную последо-вательность, соответствующую этому символу. Восьмеричная экранированная последовательность состоит из обратного слеша, за которым следуют три цифры, определяющие восьмеричное число; восьмеричная последовательность заменяется ASCII-символом, соответствующим этому восьмеричному коду. Шестнадцате-ричная экранированная последовательность начинается с \x вместо \ и может содержать произвольное количество шестнадцатеричных цифр. Экранированная последовательность завершается с обнаружением символа, который не является шестнадцатеричной цифрой. Например, в таблице ASCII-символов символу m соответствует десятичное значение 109, которое соответствует восьмеричному значению 155 и шестнадцатеричному значению 6D:
>>> 'm'
'm'
>>> '\155'
'm'
>>> '\x6D'
'm'
В результате обработки всех трех выражений будет получена строка, содержа-щая один символ m . Тем не менее эти формы также могут использоваться для вставки символов, не имеющих печатного представления. Например, символу новой строки \n соответствует восьмеричное значение 012 и шестнадцатеричное значение 0A:
>>> '\n'
'\n'
>>> '\012'
'\n'
>>> '\x0A'
'\n'
Так как все строки в Python 3 являются строками Юникода, они могут содержать практически любые символы из любых существующих языков. Обсуждение систе-мы Юникод выходит далеко за рамки книги, но следующие примеры показывают, что экранирование может применяться к любому символу Юникода — по числовому коду (как показано выше) или по имени символа в Юникоде: >>> unicode_a ='\N{LATIN SMALL LETTER A}' Экранирование по имени в Юникоде >>> unicode_a
'a'
>>> unicode_a_with_acute = '\N{LATIN SMALL LETTER A WITH ACUTE}' >>> unicode_a_with_acute
'á'
>>> "\u00E1" Экранирование по коду символа с \u
'á'
>>>
В набор символов Юникода входят все стандартные ASCII-символы .
6.3.3. Вывод и обработка строк со специальными символамиРанее я уже говорила о различиях между интерактивным вычислением результа-та выражения Python и выводом результата того же выражения функцией print . И хотя в обоих случаях используется одна и та же строка, две операции могут выдавать на экран результаты, которые выглядят по-разному. Строка, которая обрабатывается на верхнем уровне интерактивного сеанса Python, выводится со всеми специальными символами в виде восьмеричных экранированных последо-вательностей, которые ясно показывают, что содержит строка. С другой стороны, функция print передает строку прямо программе терминала, которая может интер-претировать специальные символы особым образом. Вот что произойдет со строкой, состоящей из буквы a , за которой следует символ новой строки, табуляция и b :
>>> 'a\n\tb'
'a\n\tb'
>>> print('a\n\tb')
a
b
В первом случае символы новой строки и табуляции явно выводятся в строке; во втором случае они интерпретируются как управляющие коды новой строки и табуляции.
Обычная функция print также добавляет символ новой строки в конец выводимого текста. В некоторых случаях (например, при работе со строками из файла, которые уже содержат завершающие символы новой строки) такое поведение может ока-заться нежелательным. Если передать функции print параметр end со значением "" , символ новой строки присоединяться не будет:
>>> print("abc\n")
abc
>>> print("abc\n", end="")
abc
>>>
6.4. Методы строк
Многие методы строк Python встроены в стандартный класс строк Python, поэтому они автоматически поддерживаются всеми объектами строк. Стандартный модуль string также содержит некоторые полезные константы. Модули более подробно рассматриваются в главе 10.
Для понимания этого раздела вам достаточно запомнить, что многие методы строк соединяются с объектом строки, с которым они работают, точкой ( . ) — например, x.upper() . Иначе говоря, перед именем метода указывается объект строки, за которым следует точка. Так как строки являются неизменяемыми, методы строк используются только для получения своего возвращаемого значения, они никак не изменяют объект строки, с которым они связаны.
Начнем с самых полезных и распространенных операций со строками; затем будут описаны некоторые реже встречающиеся, но все равно полезные операции. В конце этого раздела будут рассмотрены некоторые нюансы, связанные со строками. Не все методы строк документированы в этом разделе. За полным списком методов строк обращайтесь к документации.
6.4.1. Методы split и join
Читать дальшеИнтервал:
Закладка: