Изучаем Python | страница 59



Если car принимает любое другое значение вместо 'bmw', проверка возвращает False:

(1) >>> car = 'audi'

(2)>>> car == 'bmw'

False

Одиночный знак равенства выполняет операцию; код (1) можно прочитать в форме «Присвоить car значение 'audi'». С другой стороны, двойной знак равенства, как в строке (2), задает вопрос: «Значение car равно 'bmw'?» Такое применение знаков равенства встречается во многих языках программирования.

Проверка равенства без учета регистра


В языке Python проверка равенства выполняется с учетом регистра. Например, два значения с разным регистром символов равными не считаются:

>>> car = 'Audi'

>>> car == 'audi'

False

Если регистр символов важен, такое поведение приносит пользу. Но если проверка должна выполняться на уровне символов без учета регистра, преобразуйте значение переменной к нижнему регистру перед выполнением сравнения:

>>> car = 'Audi'

>>> car.lower() == 'audi'

True

Условие возвращает True независимо от регистра символов 'Audi', потому что проверка теперь выполняется без учета регистра. Функция lower() не изменяет значения, которое изначально хранилось в car, так что сравнение не отражается на исходной переменной:

(1) >>> car = 'Audi'

(2)>>> car.lower() == 'audi'

True

(3)>>> car

'Audi'

В точке (1) строка 'Audi' сохраняется в переменной car. В точке (2) значение car приводится к нижнему регистру и сравнивается со значением строки 'audi', также записанным в нижнем регистре. Две строки совпадают, поэтому Python возвращает True. Вывод в точке (3) показывает, что значение, хранящееся в car, не изменилось в результате проверки.

Веб-сайты устанавливают определенные правила для данных, вводимых пользователями подобным образом. Например, сайт может использовать проверку условия, чтобы убедиться в том, что имя каждого пользователя уникально (а не совпадает с именем другого пользователя, отличаясь от него только регистром символов). Когда кто-то указывает новое имя пользователя, это имя преобразуется к нижнему регистру и сравнивается с версиями всех существующих имен в нижнем регистре. Во время такой проверки имя 'John' будет отклонено, если в системе уже используется любая разновидность 'john'.

Проверка неравенства


Если вы хотите проверить, что два значения различны, используйте комбинацию из восклицательного знака и знака равенства (!=). Восклицательный знак представляет отрицание, как и во многих языках программирования.

Для знакомства с оператором неравенства мы воспользуемся другой командой if. В переменной хранится заказанное дополнение к пицце; если клиент не заказал анчоусы (anchovies), программа выводит сообщение: