Зарегистрируйтесь, чтобы продолжить обучение

Сравнение строк Основы Python

Операции сравнения работают не только с числами, но и со строками. В этом случае сравнение идёт по алфавитному порядку символов.

print("apple" < "banana")   # => True
print("cat" > "dog")        # => False
print("abc" == "abc")       # => True
print("hello" != "world")   # => True

Здесь "apple" < "banana", потому что буква "a" в слове apple идёт раньше буквы "b" в слове banana.

Напишем функцию, которая проверяет, начинается ли слово с заданной буквы. Для этого возьмём первый символ строки и сравним его с нужной буквой.

def starts_with(word: str, letter: str) -> bool:
    return word[0] == letter

print(starts_with("apple", "a"))   # => True
print(starts_with("banana", "a"))  # => False

Операции сравнения — это такие же выражения, как и арифметические. Это значит, что в них можно подставлять не только готовые значения, но и другие выражения как в примере выше: word[0]. Например, вместо числа можно использовать результат работы функции len, которая возвращает длину строки:

print(len("apple") > 3)   # => True, потому что len("apple") = 5
print(len("hi") > 3)      # => False, потому что len("hi") = 2

В примере выше, сначала выполняется функция len("apple"), результатом будет число 5. Потом это число сравнивается с 3. То есть порядок вычисления такой:

  1. Сначала считаются аргументы выражения (например, длина строки).
  2. Потом выполняется операция сравнения.

Так можно комбинировать разные операции, получая более сложные проверки.

Полезные предикаты

У строк в Python есть много встроенных методов-предикатов. Они возвращают True или False и помогают проверять разные свойства строки. Ниже приведены самые часто используемые:

print("hello".startswith("he"))   # True — строка начинается с "he"
print("hello".endswith("lo"))     # True — строка заканчивается на "lo"

print("123".isdigit())            # True — все символы являются цифрами
print("abc".isalpha())            # True — все символы являются буквами
print("abc123".isalnum())         # True — строка состоит только из букв и цифр

print("   ".isspace())            # True — строка содержит только пробелы
print("Hello".islower())          # False — не все символы в нижнем регистре
print("HELLO".isupper())          # True — все символы в верхнем регистре
print("Title Case".istitle())     # True — каждое слово начинается с заглавной буквы

Такие методы позволяют проверять строки на нужные условия прямо в коде, без написания дополнительных функций.

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff