Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование.Python.8-10.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1.2 Mб
Скачать

Задачи поиска, замены и удаления подстроки в строке в Python

Строка (str) в Питоне является неизменяемым объектом, поэтому удалять или заменять символы в той же самой строке невозможно.

Вместо этого при помощи операций конкатенации и различных методов можно создать новую строку, которую присвоить той же переменной.

Выполним обход элементов строки в цикле for:

>>> myjob = 'hacker' >>> for c in myjob: >>>    print(c, end=' ') >>> h a c k e r

Проверим факт наличия символа или подстроки при помощи оператора in:

>>> 'k' in myjob True >>> 'z' in myjob False >>> 'spam' in 'abcspamdef' True

МЕТОДЫ FIND И RFIND

Метод find находит в данной строке (к которой применяется метод) данную подстроку (которая передается в качестве параметра). Функция возвращает индекс первого вхождения искомой подстроки. Если же подстрока не найдена, то метод возвращает значение -1. Например:

>>> S = 'Hello'

>>> print(S.find('e'))

1

>>> print(S.find('ll'))

2

>>> print(S.find('L'))

-1

Аналогично, метод rfind возвращает индекс последнего вхождения данной строки (“поиск справа”).

>>> S = 'Hello'

>>> print(S.find('l'))

2

>>> print(S.rfind('l'))

3

Если вызвать метод find с тремя параметрами S.find(T, a, b), то поиск будет осуществляться начиная с символа с номером a до символа с номером b (не включительно). Если указать только два параметра S.find(T, a), то поиск будет осуществляться, начиная с a-го элемента до конца строки. Метод S.find(T, a, b) возвращает индекс в строке S, а не индекс относительно начала среза.

Метод replace

Метод replace заменяет все вхождения одной строки на другую. Формат: S.replace(old, new) — заменить в строке S все вхождения подстроки old на подстроку new. Пример:

>>> 'Hello'.replace('l', 'L')

'HeLLo'

Если методу replace задать еще один параметр: S.replace(old, new, count), то заменены будут не все вхождения, а только не больше, чем первые count из них.

>>> 'Abrakadabra'.replace('a', 'A', 2)

'AbrAkAdabra'

Метод count

Подсчитывает количество вхождений одной строки в другую строку. Простейшая форма вызова S.count(T)  возвращает число вхождений строки T внутри строки S. При этом подсчитываются только непересекающиеся вхождения, например:

>>> 'Abracadabra'.count('a')

4

>>> ('a' * 100000).count('aa')

50000

При указании трех параметров S.count(T, a, b), будет выполнен подсчет числа вхождений строки T в срез S[a:b].

Удаление подстроки

Удаление подстроки осуществляется заменой подстроки на пустую строку:

>>> 'Bob was eating tasty plum'.replace('tasty', '') 'Bob was eating  plum'

Экранированные символы в Python

Экранированные последовательности, также называемые escape-последовательности, могут состоять из одного или нескольких символов после обратной косой черты:

\ в самом конце строки

Игнорируется, строка продолжается на новой строке

\\

Сам символ обратного слеша (остается один символ \)

\'

Апостроф (остается один ‘)

\"

Кавычка (остается один символ ")

\n

Новая строка (перевод строки)

\r

Возврат каретки

\t

Горизонтальная табуляция

\u…

16-битовый символ Юникода в 16-ричном представлении

\U…

32-битовый символ Юникода в 32-ричном представлении

\x…

16-ричное значение

\o…

8-ричное значение

\0

Символ Null (не признак конца строки)

Типы данных и приоритеты операций в языке Python

В языке Python выделяют несколько типов данных: целые числа, числа с плавающей точкой(вещественные), строки, логический тип. 

Тип каждой переменной может динамически изменяться по ходу выполнения программы. Определить, какой тип имеет переменная, можно с помощью команды type()

ЦЕЛЫЕ ЧИСЛА

Целое число в Python имеет тип int. Оно записывается как последовательность цифр, перед которой также может стоять знак минус.

Основные операции с целыми числами

  • A + B — сумма;

  • A - B — разность;

  • A * B — произведение;

  • A / B — частное, (результатом этого действия является вещественное число, даже если A нацело делится на B);

  • ОСНОВНЫЕ ОПЕРАЦИИ С ЦЕЛЫМИ ЧИСЛАМИ

  • A + B — сумма;

  • A - B — разность;

  • A % B — взятие остатка от деления A на B;

  • A // B — взятие целой части от деления A на B

  • A ** B — возведение в степень.

Приоритеты операций

Приоритеты операций в Pythonсовпадают с приоритетом операций в математике, а именно:

  1. Выполняются возведения в степень справа налево, то есть 3 ** 3 ** 3 это 3 ** (3 ** 3).

  2. Выполняются унарные минусы (отрицания).

  3. Выполняются умножения и деления слева направо. Операции умножения и деления имеют одинаковый приоритет.

  4. Выполняются сложения и вычитания слева направо. Операции сложения и вычитания имеют одинаковый приоритет.

Для изменения порядка действий нужно использовать скобки.