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

Строки в 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])

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

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

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

    Latex

    • Вид работы:

      Набор текста (компьютерный)

    • Выполнена:

      18 ноября 2017

    • Стоимость:

      400 руб.

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

    Lazarus

    • Вид работы:

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

    • Выполнена:

      16 ноября 2017

    • Стоимость:

      2 800 руб.

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

    Электронный журнал посещаемости для студентов

    • Вид работы:

      Курсовая работа

    • Выполнена:

      10 ноября 2017

    • Стоимость:

      900 руб.

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

    Определить оценки внутреннего и внешнего качества при разработке приложения Блокнот

    • Вид работы:

      Контрольная работа

    • Выполнена:

      9 ноября 2017

    • Стоимость:

      4 200 руб.

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

    Контрольная работа Математические основы обработки информации

    • Вид работы:

      Контрольная работа

    • Выполнена:

      22 октября 2017

    • Стоимость:

      3 500 руб.

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

    Аналитическая справка об участии воспитанников в жизни ДОУ

    • Вид работы:

      Набор текста (компьютерный)

    • Выполнена:

      12 октября 2017

    • Стоимость:

      400 руб.

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