Логический тип bool и оператор равенства в Python
Обновлено:
1. Класс bool
В Python существует встроенный класс:
bool
У этого класса есть два логических объекта:
True
False
True переводится как:
- правда;
- верно;
- да.
False переводится как:
- ложь;
- неверно;
- нет.
Названия обязательно записываются с большой буквы:
True
False
2. Проверка типа
type(True)
Результат:
<class 'bool'>
type(False)
Результат:
<class 'bool'>
Оба объекта относятся к классу bool.
Иногда True можно условно воспринимать как 1, а False — как 0, но в программе они прежде всего обозначают результат логической проверки.
3. Оператор равенства ==
Оператор:
==
проверяет, равны ли два объекта.
Если объекты равны, результатом будет:
True
Если объекты не равны:
False
Пример:
25 == 25
Результат:
True
25 == 24
Результат:
False
4. Сравнение int и float
Целые и вещественные числа можно сравнивать между собой:
5 == 5.0
Результат:
True
Значения чисел одинаковые, несмотря на разные типы данных.
5 == 5.001
Результат:
False
Значения отличаются.
Ещё примеры:
10.0 == 10
Результат:
True
10.5 == 10
Результат:
False
5. Сравнение строк
Две полностью одинаковые строки равны:
'Python' == 'Python'
Результат:
True
Если строки отличаются, результатом будет False.
'Python' == 'python'
Результат:
False
Регистр букв имеет значение.
6. Порядок символов
'ABC' == 'ABC'
Результат:
True
'ABC' == 'CBA'
Результат:
False
Символы одинаковые, но расположены в разном порядке.
7. Буквы разных языков
Некоторые буквы разных алфавитов могут выглядеть одинаково.
Например, русская:
А
и английская:
A
выглядят похоже, но являются разными символами.
'А' == 'A'
Результат:
False
В первой строке находится русская буква, а во второй — английская.
8. Пробел является символом
Пустые строки равны:
'' == ''
Результат:
True
Строки с одним пробелом тоже равны:
' ' == ' '
Результат:
True
Но один пробел не равен двум:
' ' == ' '
Результат:
False
Также имеют значение пробелы в начале и в конце:
'Python' == 'Python '
Результат:
False
Чтобы строки были равны, должны совпадать:
- все символы;
- их количество;
- регистр;
- порядок;
- пробелы.
9. Присваивание и сравнение
Один знак равенства:
=
используется для присваивания.
number = 25
Имя number начинает ссылаться на число 25.
Два знака равенства:
==
используются для сравнения.
number == 25
Результат:
True
Сравним:
number = 25
result = number == 25
print(result)
Результат:
True
10. Сохранение результата сравнения
Результат сравнения является объектом класса bool.
Его можно сохранить в переменную:
result = 25 == 25
В переменной находится:
True
Проверим:
print(result)
print(type(result))
Результат:
True
<class 'bool'>
Другой пример:
result = 'Python' == 'python'
print(result)
Результат:
False
11. Несколько сравнений подряд
В Python можно сравнить несколько значений:
25 == 25 == 25 == 25
Результат:
True
Python проверяет соседние значения:
25 равно 25
25 равно 25
25 равно 25
Все проверки дали True, поэтому общий результат тоже True.
Если хотя бы одно значение отличается:
25 == 25 == 24 == 25
Результат:
False
12. Основные правила
Класс логических значений:
bool
Его объекты:
True
False
Проверка равенства:
==
Присваивание:
=
Пример присваивания:
number = 25
Пример сравнения:
number == 25
Результат операции == всегда относится к классу bool:
True
или:
False
Домашнее задание
Задание 1
Сначала самостоятельно определить результаты, затем проверить их в IDLE:
25 == 25
25 == 24
5 == 5.0
5 == 5.001
10.5 == 10.5
Задание 2
Определить результаты сравнений:
'Python' == 'Python'
'Python' == 'python'
'ABC' == 'CBA'
'' == ''
' ' == ' '
'Hello' == 'Hello '
'А' == 'A'
Объяснить причину каждого результата False.
Задание 3
Создать переменные:
first_number = 100
second_number = 100.0
first_text = '100'
second_text = '100'
Сохранить в отдельные переменные результаты сравнений:
first_number == second_number
first_text == second_text
first_number == first_text
100 == 100 == 100
100 == 100 == 99
Вывести каждый результат и проверить его тип с помощью type().