
Ранее мы затрагивали тему операций с переменными. В этой части мы погрузимся в наиболее общие операции и методы со строками. Это не весь список возможных манипуляций со строками.
Объявление Переменной Типа Строка
Вы можете объявить переменную строки, присвоив строковое значение имени переменной с использованием знака равенства =. Вот пример:
my_string = "Hello, world!"
В этом примере мы объявили строковую переменную под названием my_string и присвоили ей значение "Hello, world!". Обратите внимание, что строковое значение заключено в кавычки.
Вы также можете объявить пустую строковую переменную, присвоив имя переменной пустое строковое значение, вот так:
my_string = ""
В данном случае мы объявили строковую переменную под названием my_string и присвоили ей пустое строковое значение
Конкатенация Строк
Конкатенация строк — это процесс объединения двух или более строк в одну строку. В Python вы можете конкатенировать строки, используя оператор +. Еще один вариант добавления строки — использование оператора +=.
Давайте посмотрим на пример добавления строки:
str1 = "Hello"
str2 = "World"
result = str1 + " " + str2
print(result) # Output: Hello World
В приведенном выше примере мы создали две строковые переменные str1 и str2, содержащие строки "Hello" и "World" соответственно. Затем мы используем оператор + для добавления одной строки к другой, вместе с символом пробела, чтобы создать один строковый результат. Наконец, мы выводим результат добавления на консоль, который выводит "Hello World".
Переменная в Строке
В Python вы можете включать переменные в строки, используя различные методы. Вот несколько наиболее часто используемых способов достижения этого:
Конкатенация Строк: вы можете конкатенировать строки и переменные, используя оператор +:
name = "Alice"
age = 30
message = "Hello, my name is " + name + " and I am " + str(age) + " years old."
print(message)
Использование метода str.format(): этот метод позволяет встраивать переменные в строку, используя заполнители {}:
name = "Bob"
age = 25
message = "Hello, my name is {} and I am {} years old.".format(name, age)
print(message)
Использование f-строк (форматированных строковых литералов): введенные в Python 3.6, f-строки предоставляют краткий способ встраивания переменных непосредственно в строки, добавляя перед строкой f и используя {} для заключения переменных:
name = "Charlie"
age = 35
message = f"Hello, my name is {name} and I am {age} years old."
print(message)
Все эти методы достигают одного и того же результата, но f-строки часто предпочитают из-за их читаемости и удобства использования. Они позволяют напрямую ссылаться на переменные внутри строки, делая код более чистым и понятным.
Длина Строки
Вы можете получить длину строки, используя встроенную функцию len(). Также вы можете проверить, пуста ли строка, используя этот метод.
Вот пример вычисления количества символов, которые содержит строка:
my_string = "Hello, world!"
print(len(my_string)) # Output: 13
В этом примере функция len() возвращает количество символов в переменной my_string, которое составляет 13. Вы также можете использовать len(), чтобы получить длину строковой переменной, которая пуста или содержит пробелы:
empty_string = ""
print(len(empty_string)) # Output: 0
whitespace_string = " "
print(len(whitespace_string)) # Output: 3
В обоих случаях функция len() возвращает длину строки, которая равна 0 для пустой строки и 3 для строки, содержащей пробелы.
Сравнение Строк
В Python вы можете использовать различные операторы сравнения для сравнения строк. Вот несколько примеров:
Оператор ==: проверяет, равны ли две строки.
str1 = "mango"
str2 = "pineapple"
if str1 == str2:
print("The two strings are equal.")
else:
print("The two strings are not equal.")
# Output: The two strings are not equal.
Оператор !=: проверяет, не равны ли две строки.
str1 = "mango"
str2 = "pineapple"
if str1 != str2:
print("The two strings are not equal.")
else:
print("The two strings are equal.")
# Output: The two strings are not equal.
Оператор <: проверяет, меньше ли первая строка второй строки в лексикографическом порядке.
str1 = "mango"
str2 = "pineapple"
if str1 < str2:
print("The first string comes before the second string.")
else:
print("The second string comes before the first string.")
# Output: The first string comes before the second string.
Оператор >: проверяет, больше ли первая строка второй строки в лексикографическом порядке.
str1 = "mango"
str2 = "pineapple"
if str1 > str2:
print("The first string comes after the second string.")
else:
print("The second string comes after the first string.")
# Output: The second string comes after the first string.
Оператор <=: проверяет, меньше ли первая строка или равна второй строке в лексикографическом порядке.
str1 = "mango"
str2 = "pineapple"
if str1 <= str2:
print("The first string comes before or is equal to the second string.")
else:
print("The second string comes before the first string.")
# Output: The first string comes before or is equal to the second string.
Оператор >=: проверяет, больше ли первая строка или равна второй строке в лексикографическом порядке.
str1 = "mango"
str2 = "pineapple"
if str1 >= str2:
print("The first string comes after or is equal to the second string.")
else:
print("The second string comes after the first string.")
# Output: The second string comes after the first string.
Обратите внимание, что при сравнении строк в Python сравнение производится в лексикографическом порядке, что означает, что сравнение основано на значениях ASCII символов в строках.
Многострочная Строка
Вы можете создать многострочную строку, заключив текст в тройные кавычки, либо тройные одинарные кавычки ('''), либо тройные двойные кавычки (""").
Например:
multiline_string = '''
This is a multiline string
that spans multiple lines.
You can use single quotes
or double quotes.
'''
print(multiline_string)
# Output:
This is a multiline string
that spans multiple lines.
You can use single quotes
or double quotes.
Обратите внимание, что любые пробелы, включая переводы строк, в строке в тройных кавычках будут включены в строку. Если вы хотите исключить пробелы в начале или в конце строки, вы можете использовать методы строк, такие как strip() или rstrip().
Двоичная Строка
Двоичную строку можно представить, используя префикс 0b, за которым следует последовательность цифр 0 и 1. Например, двоичная строка 1101 может быть представлена как 0b1101. Вот несколько примеров того, как создавать и манипулировать двоичными строками в Python:
- Создание двоичной строки:
binary_str = '0b1101'
- Преобразование десятичного целого числа в двоичную строку:
decimal_num = 13
binary_str = bin(decimal_num)
- Преобразование двоичной строки в десятичное целое число:
binary_str = '0b1101'
decimal_num = int(binary_str, 2)
- Побитовые операции с двоичными строками:
binary_str1 = '0b1101'
binary_str2 = '0b1010'
# Bitwise AND
result = int(binary_str1, 2) & int(binary_str2, 2)
print(bin(result)) # Output: 0b1000
# Bitwise OR
result = int(binary_str1, 2) | int(binary_str2, 2)
print(bin(result)) # Output: 0b1111
# Bitwise XOR
result = int(binary_str1, 2) ^ int(binary_str2, 2)
print(bin(result)) # Output: 0b0111
Примечание: при выполнении побитовых операций нам необходимо преобразовать двоичные строки в десятичные целые числа, используя функцию int() со вторым аргументом, указывающим основание (2 в данном случае), а затем преобразовать результат обратно в двоичную строку, используя функцию bin().
Итерация по Символам
Существует несколько способов итерации по символам в строке в Python. Вот несколько примеров:
- Использование цикла
for:
my_string = "Hello, world!"
for char in my_string:
print(char)
- Используя цикл
while:
my_string = "Hello, world!"
i = 0
while i < len(my_string):
print(my_string[i])
i += 1
- Использование генератора списка:
my_string = "Hello, world!"
char_list = [char for char in my_string]
print(char_list)
- Используя функцию
map():
my_string = "Hello, world!"
char_list = list(map(str, my_string))
print(char_list)
- Использование функции
enumerate():
my_string = "Hello, world!"
for index, char in enumerate(my_string):
print(f"Character at index {index}: {char}")
Все эти методы позволят вам итерироваться по символам в строке и выполнять операции с ними. Выберите тот, который лучше всего подходит для ваших задач!
Изучите глубже эту тему
Пишите вместе с нами!
Вы можете внести свой вклад в статьи о Python на GitHub: создайте Fork, внесите правки и отправьте нам Pull request.