Строки

Повторение: последовательности (кортежи и диапазоны)

  1. {OK} Индексация: seq[n]

  2. {OK} Проход циклом: for el in seq: …

  3. {OK} Длина: len(seq)

  4. {OK} Распаковка: a, b, c, d = range(5, 12, 2)

  5. {OK} Входит ли элемент в последовательность: if elem in seq: …

  6. {OK} Сложение и умножение на число (не работает с диапазонами, что логично)

Ещё операции над последовательностями

  1. Отрицательные индексы:

    • {i} Попробовать seq[-1], seq[-2] и т. п. и объяснить, что это значит

  2. Секционирование (сечение, срез):

    • Взятие подпоследовательности. Работает и на диапазонах, но для простоты будем тренироваться на кортежах.
    • Подпоследовательность — новый объект, он создаётся операцией секционирования
    • {OK} С шагом 1: seq[начало:конец]

      • {i} Ввести кортеж и вывести его вторую половину (большую, если длина нечётна)

      • {OK} Умолчания

    • {OK} С отрицательным шагом

    • {OK} С шагом N

      • {i} Ввести кортеж и вывести каждый третий его элемент, начиная с первого (не с нулевого!)

    • {OK} Отсутствие ошибки индекса при секционировании

Строки

<!> Напоминаю, что в программировании «символами» называются знаки — буквы, цифры, знаки препинания и т. п. ☺

Строка как последовательность

Тезис

Строка — это последовательность символов

  • {i} убедиться, что строка поддерживает все операции с последовательностями

    • …есть проблемы с in?

Антитезис
В Python нет типа данных «символ» (ну, или «знак» ☺)
Синтез
Элементом строки в питоне является… строка длиной 1
  • {OK} Бонус: Операция in ищет не элемент строки, а подстроку любой длины

Пустая строка: ""

Методы

<!> В программировании «методом» чаще всего называют особого рода функцию (то есть именованный алгоритм — подпрограмму), которая отличается от обычной функции тем, что всегда применяется к данному конкретному объекту.

Строковые методы

Полное описание

Решение задач

Задача: ввести строку, удалить из неё все не-буквы, вывести результат

(Если успеем, ещё пару не самых простых задач из домашки)

Д/З

Python/PhilosoPython2022/08_String (последним исправлял пользователь FrBrGeorge 2022-11-06 21:49:16)