Изучение 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
$
#
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, вы можете манипулировать строками так, как хотите.