Введение в Python. Лекция 3: Строки и операции над ними

Содержание

Слайд 2

Для работы с текстом в Python предусмотрен специальный строковый тип данных str

Python

Для работы с текстом в Python предусмотрен специальный строковый тип данных str
создает строковые объекты, если текст поместить в одинарные или двойные кавычки:
>>> 'hello'
'hello'
>>> "Hello"
'Hello'
>>>

Слайд 3

Без кавычек Python расценит текст как переменную и попытается вывести на экран

Без кавычек Python расценит текст как переменную и попытается вывести на экран
ее содержимое (если такая переменная была создана):
>>> hello
Traceback (most recent call last):
File "", line 1, in
hello
NameError: name 'hello' is not defined
>>>

Слайд 4

Можно создать пустую строку:
>>> ''
''
>>>

Можно создать пустую строку: >>> '' '' >>>

Слайд 5

Для работы со строками в Python предусмотрено большое число встроенных функций, например,

Для работы со строками в Python предусмотрено большое число встроенных функций, например,
len(). Она определяет длину строки, которая передается ей в качестве аргумента.

>>> help(len)
Help on built-in function len in module builtins:
len(obj, /)
Return the number of items in a container.
>>> len('Привет!')
7
>>>

Слайд 6

Например, если мы хотим объединить несколько строк в одну, Python позволяет это

Например, если мы хотим объединить несколько строк в одну, Python позволяет это
сделать с помощью операции конкатенации (обычный символ + для строк):
>>> 'Привет, ' + 'земляне!'
'Привет, земляне!'
>>>

Слайд 7

Например, надо объединить строки. Для этого с помощью функции str() преобразуем число

Например, надо объединить строки. Для этого с помощью функции str() преобразуем число
5 в строку '5' и выполним объединение:
>>> 'Марс' + str(5)
'Марс5'
>>>

Слайд 8

Например, обратное преобразование типов:
>>> int("-5")
-5
>>>

Например, обратное преобразование типов: >>> int("-5") -5 >>>

Слайд 9

Повтор строки заданное число раз:
>>> "СПАМ" * 10
'СПАМСПАМСПАМСПАМСПАМСПАМСПАМСПАМСПАМСПАМ'
>>>

Повтор строки заданное число раз: >>> "СПАМ" * 10 'СПАМСПАМСПАМСПАМСПАМСПАМСПАМСПАМСПАМСПАМ' >>>

Слайд 10

Строки можно присваивать переменным и дальше работать с переменными:

>>> s =

Строки можно присваивать переменным и дальше работать с переменными: >>> s =
"Я изучаю программирование"
>>> s
'Я изучаю программирование'
>>> s*4
'Я изучаю программированиеЯ изучаю программированиеЯ изучаю программированиеЯ изучаю программирование'
>>> s + " на языке Python"
'Я изучаю программирование на языке Python'
>>>

Слайд 11

Если хотим поместить разные виды кавычек в строку, то сделать это можно

Если хотим поместить разные виды кавычек в строку, то сделать это можно
несколькими способами:
>>> "Hello's"
"Hello's"
>>> 'Hello\'s'
"Hello's"
>>>

Слайд 12

Использование специальных символов (управляющие escape-последовательности), которые записываются, как два символа, но Python

Использование специальных символов (управляющие escape-последовательности), которые записываются, как два символа, но Python
видит их как один:
>>> len("\'")
1
>>>

Слайд 13

Управляющие escape - последовательности

\n - переход на новую строку
\t - знак

Управляющие escape - последовательности \n - переход на новую строку \t -
табуляции
\\ - наклонная черта влево
\ ' - символ одиночной кавычки
\ " - символ двойной кавычки

Слайд 14

Многострочная строка (заключается в три одинарные кавычки):
>>> '''Это длинная
строка'''
'Это

Многострочная строка (заключается в три одинарные кавычки): >>> '''Это длинная строка''' 'Это длинная\nстрока' >>>
длинная\nстрока'
>>>

Слайд 15

Строка со специальным симвjлом с функцией print
>>> print('Это длинная\nстрока')
Это длинная
строка

Строка со специальным симвjлом с функцией print >>> print('Это длинная\nстрока') Это длинная строка >>>

>>>

Слайд 16

Примеры
>>> print(1, 3, 5)
1 3 5
>>> print(1, '2', 'снова

Примеры >>> print(1, 3, 5) 1 3 5 >>> print(1, '2', 'снова
строка', 56)
1 2 снова строка 56
>>>

Слайд 18

Примеры
>>> print(1, 6, 7, 8, 9)
1 6 7 8 9

Примеры >>> print(1, 6, 7, 8, 9) 1 6 7 8 9

>>> print(1, 6, 7, 8, 9, sep=':')
1:6:7:8:9
>>>

Слайд 19

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

Каждый символ строки имеет свой порядковый номер (индекс). Нумерация символов

Операции над строками Каждый символ строки имеет свой порядковый номер (индекс). Нумерация
начинается с нуля.
Пример:
>>> s = 'Я люблю писать программы!'
>>> s[0]
'Я'
>>> s[-1]
'!'
>>>

Слайд 20

Отрицательный индекс: длина строки + отрицательный индекс. Например, для -1 это будет:

Отрицательный индекс: длина строки + отрицательный индекс. Например, для -1 это будет:
len(s)-1, т.е. 24.
>>> len(s)-1
24
>>> s[24]
'!'
>>>

Слайд 21

Пример:

>>> s = 'Я люблю писать программы!'
>>> s[0]='J'
Traceback (most

Пример: >>> s = 'Я люблю писать программы!' >>> s[0]='J' Traceback (most
recent call last):
File "", line 1, in
s[0]='J'
TypeError: 'str' object does not support item assignment
>>>
Попытка изменить нулевой символ в строке s привела к ошибке, так как в Python строки, как и числа, являются неизменяемыми.

Слайд 22

Работа со строковыми объектами для Python не отличается от работы с числовыми

Работа со строковыми объектами для Python не отличается от работы с числовыми объектами:
объектами:

Слайд 23

Изменяем значение переменной s. Создается новый строковый объект (а не изменяется предыдущий)

Изменяем значение переменной s. Создается новый строковый объект (а не изменяется предыдущий)
по адресу id2 и этот адрес записывается в переменную s.

Слайд 24

Прежде чем мы поймем, как строки можно изменять, познакомимся со срезами:
>>>

Прежде чем мы поймем, как строки можно изменять, познакомимся со срезами: >>>
s = 'Питоны водятся в Африке'
>>> s[1:3]
'ит'
>>>
s[1:3] – срез строки s, начиная с индекса 1, заканчивая индексом 3 (не включительно).

Слайд 25

Это легко запомнить, если индексы представить в виде смещений:

Это легко запомнить, если индексы представить в виде смещений:

Слайд 26

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

>>> s[:3] # с 0 индекса

Со срезами можно производить различные манипуляции: >>> s[:3] # с 0 индекса
по 3-ий не включительно
'Пит'
>>> s[:] # вся строка
'Питоны водятся в Африке'
>>> s[::2] # третий аргумент задает шаг (по умолчанию один)
'Птн ояс фие'
>>> s[::-1] # «обратный» шаг
'екирфА в ястядов ынотиП'
>>> s[:-1] # вспомним, как мы находили отрицательный индекс
'Питоны водятся в Африк'
>>> s[-1:] # снова отрицательный индекс
'е'
>>>