Строки и операции над строками
Без кавычек Python расценит текст как имя переменной и попытается вывести на экран ее содержимое, если такая переменная существует: NameError: name 'строка' is not defined Для создания многострочной строки ее необходимо заключить с обеих сторон в три одиночных апострофа: Отметим, что при выводе на экран многострочной строки перенос строки отобразился в виде специального символа 'п. Я изучаю… Читать ещё >
Строки и операции над строками (реферат, курсовая, диплом, контрольная)
Для работы с текстом в Python предусмотрен специальный строковый тип данных str. Строковые объекты создаются, если текст поместить в одиночные апострофы или двойные кавычки:
>>> 'hello'.
'hello'.
«> «Hello» .
'Hello'.
Без кавычек Python расценит текст как имя переменной и попытается вывести на экран ее содержимое, если такая переменная существует:
>>> hello.
Traceback (most recent call last):
File «», line 1, in hello.
NameError: name 'hello' is not defined Можно создать пустую строку:
>>> ' '.
Для работы со строками в Python предусмотрено большое число встроенных функций. Рассмотрим, например, функцию 1еп, которая определяет длину строки, переданной ей в качестве аргумента:
>>> help (len).
Help on built-in function len in module builtins: len (obj, /).
Return the number of items in a container.
Пример вызова функции len для строкового аргумента:
>" 1еп ('Привет! ').
Операции над строками
С помощью операции конкатенации (оператор «+» для строк) Python позволяет объединить несколько строк в одну (также допускается расположить строки последовательно без каких-либо операторов):
>" 'Привет, ' + 'земляне! '.
'Привет, земляне!'.
>>> 'Привет, ' 'земляне!'.
'Привет, земляне!'.
Здесь начинаются удивительные вещи! Помните, мы говорили, что операции зависят от типа данных? Над объектами определенного типа можно производить только определенные операции: числа — складывать, умножать и т. д" т. е. производить над ними арифметические операции. Так вот, для строковых объектов операция сложения объединяет строки, а для числовых — складывает. Что произойдет, если применить оператор сложения одновременно к числу и строке?
>" 'Марс' + 5.
Traceback (most recent call last):
File «», line 1, in.
'Mapc' + 5.
TypeError: must be str, not int.
Python не разобрался, что мы от него хотим: сложить числа или объединить строки. К примеру, чтобы объединить строки, можно с помощью функции str преобразовать число 5 в строку '5' и выполнить объединение:
>" 'Марс' + str (5).
'Марс5'.
Можно произвести обратное преобразование типов (из строки в число):
«> int («-5»).
— 5.
Попросим Python повторить (размножить) строку 10 раз:
«> «СПАМ» * 10.
'СПАМСПАМСПАМСПАМСПАМСПАМСПАМСПАМСПАМСПАМ'.
Отметим, что оператор умножения для строковых объектов приобрел новый смысл.
Строки, но аналогии с числами, можно присваивать[1] переменным:
>" s = «Я изучаю программирование» .
>>> s.
'Я изучаю программирование'.
«> s*4.
'Я изучаю программированиеЯ изучаю программированиеЯ изучаю программированиеЯ изучаю программирование'.
«> s + «на языке Python» .
'Я изучаю программирование на языке Python'.
Поместить разные виды кавычек в строку можно несколькими способами:
>>> «Hello's» .
" Hello’s" .
>" 'HelloVs'.
" Hello’s" .
Первый способ — заключить строку в кавычки разных типов, чтобы указать Python, где заканчивается строка. Второй — использовать специальные символы (.управляющие escape-последовательности), которые записываются как два символа, но Python видит их как один:
>" 1еп («' «).
Полезно помнить часто встречающиеся управляющие последовательности:
п — переход на новую строку — знак табуляции — наклонная черта влево ' - символ одиночной кавычки.
" - символ двойной кавычки При попытке разбить длинную строку с помощью возникает ошибка:
>" 'Это длинная.
SyntaxError: EOL while scanning string literal >" строка.
Traceback (most recent call last):
File «», line 1, in строка.
NameError: name 'строка' is not defined Для создания многострочной строки ее необходимо заключить с обеих сторон в три одиночных апострофа:
>>> '''Это длинная строка'''.
'Это длиннаяХпстрока'.
Отметим, что при выводе на экран многострочной строки перенос строки отобразился в виде специального символа 'п.
- [1] Напоминаем, что в переменной хранится адрес объекта (в данном случае строкового объекта).