Изучение Python? Вот как манипулировать строками

Используя Python, вы можете управлять строками разными способами. Python предоставляет различные функции, операторы и методы, которые можно использовать для управления строками. Вы можете разрезать строку, объединять две или более строк, интерполировать переменные в строке и многое другое.

Строки в Python можно определить как последовательность символов. Они неизменяемы, то есть не могут быть изменены после объявления. Вместо этого создается копия строки для манипуляций.

Как создавать строки в Python

Создать строки в Python так же просто, как присвоить значение переменной в Python. Вы можете использовать одинарные кавычки (''), двойные кавычки ("") или три одинарные ('' '' '') / двойные кавычки ("" "" "") для создания строк.

 str1 = 'Hello!'
str2 = "Hello!"
str3 = """Hello!"""
str4 = '''Hello!'''
print(str1)
print(str2)
print(str3)
print(str4)

Выход:

 Hello!
Hello!
Hello!
Hello!

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

 s = "Using 'single quote' inside double quotes"
print(s)

Выход:

 Using 'single quote' inside double quotes

Если вы хотите создать многострочную строку, то лучшим выбором будет использование трех одинарных кавычек ('' '' '') / трех двойных кавычек ("" "" ""). При создании строк с использованием одинарных кавычек ('') или двойных кавычек («») вам необходимо использовать escape-символ n для новой строки (разрыв строки). Но если использовать три кавычки, этого делать не нужно.

 s1 = """This is a multiline
string using three double quotes"""
s2 = "This is a multiline
string using double quotes"
print(s1)
print(s2)

Выход:

 This is a multiline
string using three double quotes
This is a multiline
string using double quotes

Как получить доступ к строковым символам

Если вы хотите получить доступ к отдельным символам, используется индексирование ; если вы хотите получить доступ к диапазону символов, то используется нарезка .

Индексирование строк

Как и любые другие типы данных Python, строковые индексы начинаются с 0. Диапазон индексов составляет от 0 до длины строки – 1. Строки Python также поддерживают отрицательную индексацию: -1 указывает на последний символ строки, -2 балла. до 2-го последнего символа строки и так далее.

 s = "MAKEUSEOF"
# Prints whole string
print(s)
# Prints 1st character
print(s[0])
# Prints 2nd character
print(s[1])
# Prints last character
print(s[-1])
# Prints 2nd last character
print(s[-2])

Выход:

 MAKEUSEOF
M
A
F
O

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

TypeError:

 s = "MAKEUSEOF"
# TypeError will be thrown if you don't use integers
print(s[1.5])

Выход:

 TypeError: string indices must be integers

IndexError:

 s = "MAKEUSEOF"
# IndexError will be thrown if you try to use index out of range
print(s[88])

Выход:

 TypeError: string indices must be integers

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

Вы можете получить доступ к диапазону символов с помощью оператора двоеточия ( ? .

 s = "MAKEUSEOF"
# Prints from 0th index(included) to 4th index(excluded)
print(s[0:4])
# Prints from 3rd last index(included) to last index(excluded)
print(s[-3:-1])
# Prints from 2nd index to last of the string
print(s[2:])
# Prints from start of the string to 6th index(excluded)
print(s[:6])

Выход:

 MAKE
EO
KEUSEOF
MAKEUS

Как использовать операторы в строках

Использование оператора +

Оператор + используется для объединения / соединения двух или более строк. Он возвращает результирующую объединенную строку.

 s1 = "MAKE"
s2 = "USE"
s3 = "OF"
s = s1 + s2 + s3
# Prints the concatenated string
print(s)

Выход:

 MAKEUSEOF

Использование оператора *

Это используется для повторения строки заданное количество раз.

 str = "MUO-"
# Prints str 5 times
print(str * 5)
# Prints str 2 times
print(2 * str)
x = 3
# Prints str x times
# Here, x = 3
print(str * x)

Выход:

 MUO-MUO-MUO-MUO-MUO-
MUO-MUO-
MUO-MUO-MUO-

Использование оператора in

Это оператор членства, который проверяет, присутствует ли первый операнд во втором операнде или нет. Если первый операнд присутствует во втором операнде, он возвращает True .

В противном случае возвращается False .

 str = "MAKEUSEOF"
# Returns True as MAKE is present in str
print("MAKE" in str)
# Returns False as H is not present in str
print("H" in str)

Выход:

 True
False

Использование оператора not in

Другой оператор членства, не in работает напротив оператора in. Если первый операнд присутствует во втором операнде, он возвращает False . В противном случае возвращается True .

 str = "MAKEUSEOF"
# Returns True as Hello is not present in str
print("Hello" not in str)
# Returns False as M is present in str
print("M" not in str)

Выход:

 True
False

Последовательности выхода в строках

Используя escape-последовательности, вы можете помещать в строку специальные символы. Все, что вам нужно сделать, это добавить обратную косую черту ( / ) непосредственно перед символом, которого вы хотите избежать. Если вы не экранируете символ, Python выдаст ошибку.

 s = 'We are using apostrophe ' in our string'
print(s)

Выход:

 We are using apostrophe ' in our string

Как вставлять переменные в строки

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

 s1 = "Piper"
s2 = "a"
s3 = "pickled"
str = f"Peter {s1} picked {s2} peck of {s3} peppers"
# s1, s2 and s3 are replaced by their values
print(str)
a = 1
b = 2
c = a + b
# a, b and c are replaced by their values
print(f"Sum of {a} + {b} is equal to {c}")

Выход:

 Peter Piper picked a peck of pickled peppers
Sum of 1 + 2 is equal to 3

Как использовать встроенные строковые функции

len () Функция

Эта функция используется для определения длины строки. Это одна из наиболее часто используемых функций в Python.

 str = "MAKEUSEOF"
# Prints the number of characters in "MAKEUSEOF"
print(len(str))

Выход:

 9

Функция ord ()

Между тем эта функция используется для нахождения целочисленного значения символа. Python – универсальный язык, он поддерживает символы как ASCII, так и Unicode .

 c1 = ord('M')
c2 = ord('a')
c3 = ord('A')
c4 = ord('$')
c5 = ord('#')
print(c1)
print(c2)
print(c3)
print(c4)
print(c5)

Выход:

 77
97
65
36
35

Функция chr ()

Используйте chr (), чтобы найти символьное значение целого числа.

 i1 = chr(77)
i2 = chr(97)
i3 = chr(65)
i4 = chr(36)
i5 = chr(35)
print(i1)
print(i2)
print(i3)
print(i4)
print(i5)

Выход:

 M
a
A
$
#

По теме: Что такое текст ASCII и как он используется?

str () Функция

Используйте эту функцию для преобразования любого объекта Python в строку.

 num = 73646
# Converts num (which is integer) to string
s = str(num)
# Prints the string
print(s)
# Type functions returns the type of object
# Here, <class 'str'> is returned
print(type(s))

Выход:

 73646
<class 'str'>

Как объединить и разделить строки в Python

Разделение строки

Вы можете использовать метод split () для разделения строки на список строк на основе разделителя.

 str1 = "Peter-Piper-picked-a-peck-of-pickled-peppers"
splitted_list1 = str1.split('-')
# Prints the list of strings that are split by - delimiter
print(splitted_list1)
str2 = "We surely shall see the sun shine soon"
splitted_list2 = str2.split(' ')
# Prints the list of strings that are split by a single space
print(splitted_list2)

Выход:

 ['Peter', 'Piper', 'picked', 'a', 'peck', 'of', 'pickled', 'peppers']
['We', 'surely', 'shall', 'see', 'the', 'sun', 'shine', 'soon']

Соединение строк

Вы можете использовать метод join () для объединения всех элементов итеративного объекта. Вы можете использовать любой разделитель, который хотите присоединить к элементам.

 list1 = ["I", "thought", "I", "thought", "of", "thinking", "of", "thanking", "you"]
# Joins the list as a string by using - as a delimiter
str1 = "-".join(list1)
print(str1)
list2 = ["Ed", "had", "edited", "it"]
# Joins the list as a string by using a single space as a delimiter
str2 = " ".join(list2)
print(str2)

Выход:

 I-thought-I-thought-of-thinking-of-thanking-you
Ed had edited it

Теперь вы понимаете манипуляции со строками

Работа со строками и текстами – неотъемлемая часть программирования. Строки действуют как средство передачи информации от программы пользователю программы. Используя Python, вы можете манипулировать строками так, как хотите.