0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p><strong>Строка в Python</strong>представляет собой набор символов, находящихся в кавычках. При этом сравнение строк отличается от сравнения чисел и имеет свои особенности. В этой статье мы кратко и простым языком расскажем о сравнении строк в Python и посмотрим, какие операторы для этого есть, и как эти операторы используются.</p>
1
<p><strong>Строка в Python</strong>представляет собой набор символов, находящихся в кавычках. При этом сравнение строк отличается от сравнения чисел и имеет свои особенности. В этой статье мы кратко и простым языком расскажем о сравнении строк в Python и посмотрим, какие операторы для этого есть, и как эти операторы используются.</p>
2
<h2>Основные операторы сравнения в Python</h2>
2
<h2>Основные операторы сравнения в Python</h2>
3
<p>Итак, в языке программирования Python для сравнения строк используют следующие операторы:</p>
3
<p>Итак, в языке программирования Python для сравнения строк используют следующие операторы:</p>
4
<ul><li>оператор <, "меньше";</li>
4
<ul><li>оператор <, "меньше";</li>
5
<li>оператор <=, "меньше или равно;</li>
5
<li>оператор <=, "меньше или равно;</li>
6
<li>оператор ==, "равно";</li>
6
<li>оператор ==, "равно";</li>
7
<li>оператор !=, "не равно";</li>
7
<li>оператор !=, "не равно";</li>
8
<li>оператор >, "больше";</li>
8
<li>оператор >, "больше";</li>
9
<li>оператор >=, "больше или равно".</li>
9
<li>оператор >=, "больше или равно".</li>
10
</ul><h2>Использование оператора "больше/меньше"</h2>
10
</ul><h2>Использование оператора "больше/меньше"</h2>
11
<p>Ниже вы увидите простейший пример сравнения строк в Python с помощью соответствующих операторов: > и <. Давайте сравним строки со словами banana и apple:</p>
11
<p>Ниже вы увидите простейший пример сравнения строк в Python с помощью соответствующих операторов: > и <. Давайте сравним строки со словами banana и apple:</p>
12
print("apple" > "banana") False print("apple" < "banana") True<p>Так как буква "a" находится перед "b", слово apple будет находиться перед словом banana, что логично (то есть banana больше, чем apple). Однако всё сложнее, чем может показаться на первый взгляд. Давайте для наглядности сравним, равны ли слова Apple и apple:</p>
12
print("apple" > "banana") False print("apple" < "banana") True<p>Так как буква "a" находится перед "b", слово apple будет находиться перед словом banana, что логично (то есть banana больше, чем apple). Однако всё сложнее, чем может показаться на первый взгляд. Давайте для наглядности сравним, равны ли слова Apple и apple:</p>
13
print("apple" == "Apple") False print("apple" > "Apple") True<p>Мы увидим отсутствие равенства, а всё потому, что в Python одинаковые буквы, имеющие разный регистр, считаются разными символами, и компьютер их различает по присвоенным им уникальным значениям.</p>
13
print("apple" == "Apple") False print("apple" > "Apple") True<p>Мы увидим отсутствие равенства, а всё потому, что в Python одинаковые буквы, имеющие разный регистр, считаются разными символами, и компьютер их различает по присвоенным им уникальным значениям.</p>
14
<p>Что касается нашей ситуации, то здесь латинская "А" имеет значение 65, в то время как значение строчной "а" равно 97.</p>
14
<p>Что касается нашей ситуации, то здесь латинская "А" имеет значение 65, в то время как значение строчной "а" равно 97.</p>
15
<p>Кстати, если хотите узнать уникальное значение какого-нибудь символа, используйте функцию ord:</p>
15
<p>Кстати, если хотите узнать уникальное значение какого-нибудь символа, используйте функцию ord:</p>
16
<p>При сравнении символов или строк, Python конвертирует символы в их соответствующие порядковые значения, после чего сравнивает слева направо.</p>
16
<p>При сравнении символов или строк, Python конвертирует символы в их соответствующие порядковые значения, после чего сравнивает слева направо.</p>
17
<p>Существует функция chr, преобразовывающая порядковое значение в символ. Пример:</p>
17
<p>Существует функция chr, преобразовывающая порядковое значение в символ. Пример:</p>
18
<p>Например, кириллическая А соответствует значению 1040. Есть свои значения у цифр, а также вспомогательных знаков, включая "?", "=", пробел.</p>
18
<p>Например, кириллическая А соответствует значению 1040. Есть свои значения у цифр, а также вспомогательных знаков, включая "?", "=", пробел.</p>
19
<p>В принципе, вы всегда можете выполнить сравнение строк в Python, предварительно конвертировав строки в один формат, к примеру, в нижний регистр (используем метод lower):</p>
19
<p>В принципе, вы всегда можете выполнить сравнение строк в Python, предварительно конвертировав строки в один формат, к примеру, в нижний регистр (используем метод lower):</p>
20
str1 = "apple" str2 = "Apple" str2.lower() print(str1 == str1) True<h2>Применение оператора "равенство"</h2>
20
str1 = "apple" str2 = "Apple" str2.lower() print(str1 == str1) True<h2>Применение оператора "равенство"</h2>
21
<p>Мы можем проверить, равны ли строки, посредством оператора ==:</p>
21
<p>Мы можем проверить, равны ли строки, посредством оператора ==:</p>
22
print("строка1" == "строка2") False<p>Естественно, строки не являются равными, т. к. выполняется точное сравнение в Python. Неравными будут и те строки, которые содержат одинаковые, но переставленные местами символы. В последнем случае есть выход: превратить нашу строку в список, отсортировать, сравнить и вывести содержимое:</p>
22
print("строка1" == "строка2") False<p>Естественно, строки не являются равными, т. к. выполняется точное сравнение в Python. Неравными будут и те строки, которые содержат одинаковые, но переставленные местами символы. В последнем случае есть выход: превратить нашу строку в список, отсортировать, сравнить и вывести содержимое:</p>
23
strA = "abcde" strB = "abdec" print(sorted(list(strA)) == sorted(list(strB))) print(sorted(list(strA))) print(sorted(list(strB))) True ['a', 'b', 'c', 'd', 'e'] ['a', 'b', 'c', 'd', 'e']<h2>Использование оператора "не равно"</h2>
23
strA = "abcde" strB = "abdec" print(sorted(list(strA)) == sorted(list(strB))) print(sorted(list(strA))) print(sorted(list(strB))) True ['a', 'b', 'c', 'd', 'e'] ['a', 'b', 'c', 'd', 'e']<h2>Использование оператора "не равно"</h2>
24
<p>Оператор != выполняет проверку неравенства:</p>
24
<p>Оператор != выполняет проверку неравенства:</p>
25
print("abc" != "zxc") True<p>Разумеется, результат True, ведь abc не равно zxc.</p>
25
print("abc" != "zxc") True<p>Разумеется, результат True, ведь abc не равно zxc.</p>
26
<h2>Применение операторов "больше или равно/меньше или равно"</h2>
26
<h2>Применение операторов "больше или равно/меньше или равно"</h2>
27
<p>Если при использовании оператора <= одна строка будет меньше или равна другой, мы получим True.</p>
27
<p>Если при использовании оператора <= одна строка будет меньше или равна другой, мы получим True.</p>
28
print("abc" <= "bcd") True<p>В нашем случае "abc" меньше.</p>
28
print("abc" <= "bcd") True<p>В нашем случае "abc" меньше.</p>
29
<p>Аналогично работает и оператор >=:</p>
29
<p>Аналогично работает и оператор >=:</p>
30
print("abc" >= "abc") True<p>В этой ситуации очевидно, что строки равны.</p>
30
print("abc" >= "abc") True<p>В этой ситуации очевидно, что строки равны.</p>
31
31