Урок 2.1. Логический тип данных bool
На прошлом уроке мы узнали об основных типах данных в Python: int
, float
, str
и bool
; а также изучили основные операции с числами и строками.
Теперь поговорим подробнее о типе данных bool
. Он указывает на логические значения, которых всего два – True
и False
. Не забывайте, что Python чувствителен к регистру. Если написать true
вместо True
, произойдет ошибка.
Преобразование типов
Можно преобразовывать не только числа в строки и наоборот. Значение типа bool
можно преобразовать в любой из известных вам типов данных – и в строку, и в число. Соответственно, числа и строки тоже можно преобразовать в тип данных bool
.
1. Преобразование в строку и наоборот. Начнем с очевидного. Значения True
и False
преобразуются в строки ‘True’
и ‘False’
соответственно.
is_true = True # Присваиваем переменным логические значения is_false = False is_true = str(is_true) # Преобразуем логические значения в строки is_false = str(is_false) print(is_true) # Выводим значения переменных и их типы print(type(is_true)) print(is_false) print(type(is_false))
True <class 'str'> False <class 'str'>
Это работает в обратную сторону, но только для True
.
is_true = 'True' # Присваиваем переменным значения типа str is_false = 'False' is_true = bool(is_true) # Преобразуем строки в логические значения is_false = bool(is_false) print(is_true) # Выводим значения переменных и их типы print(type(is_true)) print(is_false) print(type(is_false))
True <class 'bool'> True <class 'bool'>
На самом деле любая непустая строка преобразуется в логическое значение True
, а пустая строка – в значение False
.
is_true = 'Python' # Присваиваем переменной непустую строку is_false = '' # Присваиваем переменной пустую строку is_true = bool(is_true) # Преобразуем строки в логические значения is_false = bool(is_false) print(is_true) # Выводим значения переменных и их типы print(type(is_true)) print(is_false) print(type(is_false))
True <class 'bool'> False <class 'bool'>
2. Преобразование в числовой тип данных и наоборот. Значение True
преобразуется в число 1
(тип данных int
) или 1.0
(тип данных float
). Значение False преобразуется в 0
или 0.0
.
is_true = True # Присваиваем переменным логические значения is_false = False int_true = int(is_true) # Преобразуем логические значения в числа, flt_true = float(is_true) # создаем для этого новые переменные int_false = int(is_false) flt_false = float(is_false) print(int_true) # Выводим значения переменных и их типы print(type(int_true)) print(flt_true) print(type(flt_true)) print(int_false) print(type(int_false)) print(flt_false) print(type(flt_false))
1 <class 'int'> 1.0 <class 'float'> 0 <class 'int'> 0.0 <class 'float'>
Можно сделать и наоборот – преобразовать единицу в True
, а ноль – в False
. Но на самом деле любое число, не равное нулю, преобразуется в True
.
is_true = 12 # Присваиваем переменной ненулевое число is_false = 0 # Присваиваем переменной число 0 is_true = bool(is_true) # Преобразуем числа в логические значения is_false = bool(is_false) print(is_true) # Выводим значения переменных и их типы print(type(is_true)) print(is_false) print(type(is_false))
True <class 'bool'> False <class 'bool'>
Кстати, команда x = bool()
присвоит переменной x
значение False
. Просто запомните это.