Глава 8 · Играем с буквами и словами

in, сравнение строк и истинность

Проверяем, входит ли одна строка в другую, сравниваем строки друг с другом — и выясняем, когда строка ведёт себя как «ложь».

in и not in — проверка вхождения

Оператор in проверяет, содержится ли одна строка внутри другой — очень частая и полезная проверка:

in_i_not_in.py
print("thon" in "Python")       # True — "thon" встречается внутри "Python"
print("java" in "Python")       # False
print("java" not in "Python")   # True — обратная проверка

Сравнение строк

Строки можно сравнивать друг с другом оператором == — результатом всегда будет True или False:

sravnenie_strok.py
print("Python" == "Python")     # True — строки совпадают полностью
print("Python" == "python")     # False — регистр важен!
== сравнивает значение, is сравнивает объект
Для строк почти всегда нужен именно ==. Оператор is проверяет, один ли это объект в памяти, — гораздо более редкий и специфичный случай, к которому мы вернёмся в главе 14.

Пустая строка — это «ложь»

В логических проверках (полноценный if — в главе 9) пустая строка ведёт себя как False, а любая непустая строка — как True:

pustaya_stroka_logika.py
print(bool(""))         # False
print(bool("Python"))   # True
print(bool(" "))        # True — пробел — это тоже символ!
★ Базовая практика
Проверка домена

Для адреса «support@cartesianschool.org» проверьте через in, содержится ли в нём «@» и содержится ли «.ru».

Практика: in, сравнение и истинность строк
Тот же ноутбук, что и в разделе «Индексы строки» — он охватывает и эту тему
Открыть практику →