Глава 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, сравнение и истинность строк
Тот же ноутбук, что и в разделе «Индексы строки» — он охватывает и эту тему