Работа со строками (string) в Python

В этом уроке вы узнаете о строках (string) в Python и основных операциях с ними.

Содержание

Введение в строки (string) Python

Строка представляет собой последовательность символов. В Python все, что находится внутри кавычек, является строкой. И вы можете использовать как одинарные, так и двойные кавычки. Например:

message = 'This is a string in Python'
message = "This is also a string"

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

message = "It's a string"

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

message = '"Beautiful is better than ugly.". Said Tim Peters'

Чтобы выйти из кавычек, используйте обратную косую черту (\). Например:

message = 'It\'s also a valid string'

Интерпретатор Python будет обрабатывать символ обратной косой черты (\) особым образом. Если вы этого не хотите, вы можете использовать необработанные строки, добавив букву r перед первой кавычкой. Например:

message = r'C:\python\bin'

Создание многострочных строк

Чтобы объединить строку в несколько строк, используйте тройные кавычки «««…»»» или «’…»’. Например:

help_message = '''
Usage: mysql command
    -h hostname     
    -d database name
    -u username
    -p password 
'''

print(help_message)

Если вы запустите программу, она выведет следующее:

Usage: mysql command
    -h hostname
    -d database name
    -u username
    -p password

Использование переменных в строках Python с f-строками

Иногда вам нужно использовать значения переменных в строке.

Например, вы можете использовать значение переменной имени внутри переменной строки сообщения:

name = 'John'
message = 'Hi'

Для этого поместите букву f перед открывающей кавычкой и заключите имя переменной в фигурные скобки:

name = 'John'
message = f'Hi {name}'
print(message)

Python заменит {name} значением переменной name. Код отобразит на экране следующее:

Hi John

Сообщение представляет собой строку формата или, короче, f-строку. Python представил f-строку в версии 3.6.

Объединение строк Python

Когда вы размещаете строковые литералы рядом друг с другом, Python автоматически объединяет их в одну строку. Например:

greeting = 'Good ' 'Morning!'
print(greeting)

Выход:

Good Morning!

Чтобы объединить две строковые переменные, используйте оператор +:

greeting = 'Good '
time = 'Afternoon'

greeting = greeting + time + '!'
print(greeting)

Выход:

Good Afternoon!

Доступ к строковым элементам

Поскольку строка представляет собой последовательность символов, доступ к ее элементам можно получить с помощью индекса. Первый символ строки имеет нулевой индекс.

В следующем примере показано, как получить доступ к элементам с помощью индекса:

str = "Python String"
print(str[0]) # P
print(str[1]) # y

Как это работает:

  • Сначала создайте переменную, содержащую строку «Python String».
  • Затем получите доступ к первому и второму символам строки, используя квадратные скобки [] и индексы.

Если вы используете отрицательный индекс, Python возвращает символ, начиная с конца строки. Например:

str = "Python String"
print(str[-1])  # g
print(str[-2])  # n

Ниже показаны индексы строки «Python String»:

+---+---+---+---+---+---+---+---+---+---+---+---+---+
| P | y | t | h | o | n |   | S | t | r | i | n | g | 
+---+---+---+---+---+---+---+---+---+---+---+---+---+
  0   1   2   3   4   5   6   7   8   9   10  11  12
-13  -12  -11  -10 -9  -8  -7  -6  -5  -4  -3  -2  -1

Получение длины строки

Чтобы получить длину строки, используйте функцию len(). Например:

str = "Python String"
str_len = len(str)
print(str_len)

Выход:

13

Нарезка строк

Нарезка позволяет получить подстроку из строки. Например:

str = "Python String"
print(str[0:2])

Выход:

Py

str[0:2] возвращает подстроку, содержащую символы с индексом от 0 (включен) до 2 (исключен).

Синтаксис нарезки следующий:

string[start:end]

Подстрока всегда включает символ в начале и исключает строку в конце.

start и end не являются обязательными. Если вы опустите начало, по умолчанию оно будет равно нулю. Если вы опустите конец, по умолчанию будет равен длине строки.

Строки Python неизменяемы

Строки Python неизменяемы. Это означает, что вы не можете изменить строку. Например, вы получите сообщение об ошибке, если обновите один или несколько символов в строке:

str = "Python String"
str[0] = 'J'

Ошибка:

Traceback (most recent call last):
  File "app.py", line 2, in <module>
    str[0] = 'J'
TypeError: 'str' object does not support item assignment</module>

Если вы хотите изменить строку, вам необходимо создать новую из существующей строки. Например:

str = "Python String"
new_str = 'J' + str[1:]
print(new_str)

Выход:

Jython String

Заключение

  • В Python строка представляет собой последовательность символов. Кроме того, строки Python неизменяемы. Используйте:
  • кавычки, одинарные или двойные кавычки, для создания строковых литералов.
  • символ обратной косой черты \, чтобы экранировать кавычки в строках.
  • необработанные строки r’…’, чтобы избежать символа обратной косой черты.
  • f-строки для вставки замещающих переменных в литеральные строки.
  • литеральные строки рядом друг с другом, чтобы объединить их. И используйте оператор + для объединения строковых переменных.
  • функцию len(), чтобы получить размер строки.
  • str[n] для доступа к символу в позиции n строки str.
Похожие посты
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *