Материалы, подготовленные в результате оказания услуги, помогают разобраться в теме и собрать нужную информацию, но не заменяют готовое решение.

Строки в Python. Общие понятия и функции

Статью подготовили специалисты образовательного сервиса Zaochnik.

Содержание:

Базовое понятие строк в Python

Строка представляет собой последовательность символов и имеет тип `str`.

Пример 1

```python

     type('2')

<class 'str'>

```

В Python не существует отдельного типа для символов; каждый символ является строкой длиной 1.

Строку можно получить с помощью функции `input()`, которая считывает данные со стандартного ввода.

Для строк предусмотрена операция конкатенации (сложение), а также операция умножения строки на число.

Пример 2

```python

     'Hello' + 'World'

'HelloWorld'

     'ABC' * 10

'ABCABCABCABCABCABCABCABCABCABC'

```

Определить количество символов (длину строки) можно с помощью функции `len`:

Пример 3

```python

     s = 'Hello'

     print(len(s))

5

```

В Python длина строки не ограничена, за исключением памяти, выделенной под программу.

Литералы строк в Python

  • Строки можно записывать в апострофах:

‘spa"m’

  • Или в кавычках:

“spa'm”

  • Также они могут быть в тройных апострофах или тройных кавычках:

''spam''', """spam"""

Экранированные последовательности выглядят так:

“s\tp\na\0m”

  • Неформатированные строки, в которых символ обратной косой черты не рассматривается как управляющий, обозначаются `r`:

r"C:\new\test\0012"

  • Если необходимо вывести обратную косую черту, её следует записать дважды:

‘Symbol \\ can be also used.’

  • В неформатированных строках экранированные символы игнорируются:

s = r"C:\new\test\0012"

print(s)

Этот код выведет: `C:\new\test\0012`.

  • При использовании обычных кавычек необходимо также дублировать каждую косую черту:

s = “C:\\new\\test\\0012”

  • Несколько подряд идущих литералов автоматически конкатенируются даже без знака `+`:

s = 'Infinite' "blue" ‘sky’

  • Строки в тройных кавычках могут содержать текст в нескольких строках, и пробелы в начале каждой строки также включаются:

s = """Happy birthday to you,

My darling Findus!

Your hostess."""

  • Такой же эффект можно получить с одинарными кавычками, оставляя обратный слэш в конце каждой строки (но не рекомендуется использовать пробел после `\`):

s = "Happy birthday to you,\

My darling Findus!\

Your hostess."

Срезы строк в Python

Определение 1

Срез (slice) — это извлечение одного символа или фрагмента из строки.

Существует три основных формы срезов. Самый простой способ — получить отдельный символ строки, обозначаемый как `S[i]`, где `i` — это индекс, начинающийся с 0. 

Пример 4

Если `S = 'Hello'`, то:

- `S[0]=='H'`

- `S[1]=='e'`

- `S[2]=='l'`

- `S[3]=='l'`

- `S[4]=='o'`

Индексы символов называются индексами, а если индекс отрицательный, то отсчет происходит с конца строки.

Пример 5

- `S[-1]=='o'`

- `S[-2]=='l'`

- `S[-3]=='l'`

- `S[-4]=='e'`

- `S[-5]=='H'`

Если индекс выходит за границы строки, возникнет ошибка `IndexError: string index out of range`.

Срез с двумя параметрами: `S[a:b]`, возвращает подстроку из `b-a` символов, начиная с индекса `a` и заканчивая индекси `b`, не включая его.

S[1:4] == 'ell'

Такое же значение будет при `S[-4:-1]`. В пределах одного среза можно использовать как положительные, так и отрицательные индексы. Например, `S[1:-1]` возвращает строку без первого и последнего символа.

При использовании такой формы среза не возникает ошибок `IndexError`. Например, `S[1:5]` вернет строку ‘ello’, даже если второй индекс значительно превышает длину строки.

Если второй параметр опустить, срез будет до конца строки. Например, `S[1:]` удаляет первый символ, а `S[:-1]` — последний. Срез `S[:]` будет равен самой строке `S`.

Если в срезе указать третий параметр `S[a:b:d]`, третий параметр задает шаг. Например, при `d=2` будут взяты каждый второй символ, а для `d=-1` — символы в обратном порядке.

Примеры срезов

Для введенной строки:

s = input() //

Выведем третий символ:

print(s[2])

Предпоследний символ:

print(s[-2])

Первые пять символов:

print(s[0:5])

Вся строка, кроме последних двух символов:

print(s[:-2])

Все символы с четными индексами (начиная с 0):

print(s[::2])

Все символы с нечетными индексами:

print(s[1::2])

Все символы в обратном порядке:

print(s[::-1])

Все символы через один в обратном порядке, начиная с последнего:

print(s[::-2])

Навигация по статьям

Выполненные работы по программированию

  • Программирование

    НИР на тему Автоматизированое рабочее места специалиста по социальной работе

    • Вид работы:

      Отчёт по практике

    • Выполнена:

      25 февраля 2020

    • Стоимость:

      1 900 руб.

    Заказать такую же работу
  • Программирование

    Обеспечение защиты информации при использовании системы электронного документооборота

    • Вид работы:

      Реферат

    • Выполнена:

      29 декабря 2019

    • Стоимость:

      500 руб.

    Заказать такую же работу
  • Программирование

    Искусственный интеллект. Достижения и перспективы развития.

    • Вид работы:

      Эссе

    • Выполнена:

      11 декабря 2019

    • Стоимость:

      800 руб.

    Заказать такую же работу
  • Программирование

    Айти. Заполнить дневник практики.

    • Вид работы:

      Отчёт по практике

    • Выполнена:

      9 декабря 2019

    • Стоимость:

      1 800 руб.

    Заказать такую же работу
  • Программирование

    Если свободное общество не сможет помочь многим бедным, оно не сможет защитить немногих богатых

    • Вид работы:

      Эссе

    • Выполнена:

      8 декабря 2019

    • Стоимость:

      1 000 руб.

    Заказать такую же работу
  • Программирование

    Двоичные деревья поиска, Организация поиска в массиве данных при помощи специальных методов поиска, Сортировка

    • Вид работы:

      Отчёт по практике

    • Выполнена:

      28 октября 2019

    • Стоимость:

      1 700 руб.

    Заказать такую же работу