Обзор
В Python это не только true и false, как в классе C, например, 1 для true и 0 для false. True и false в Python имеют более широкий диапазон значений, Python будет рассматривать все пустые структуры данных как ложные, такие как[]
(пустой список),{}
(пустая коллекция),''
(пустая строка) и т. д., в то время как для непустой структуры данных верно обратное
Простой код сравнения:
# 遍历列表中的示例元素,获取对应的真假:
for elenment in ['', 'S', [], [1, 2], {}, {3, 'SSS'}, 0, 0.0, 1, None]:
if elenment:
print(elenment, True)
else:
print(elenment, False)
Пример результата:
False
S True
[] False
[1, 2] True
{} False
{'SSS', 3} True
0 False
0.0 False
1 True
None False
Нет возражений
В Python None не только представляет False, но и сам по себе является специальным пустым объектом, который можно использовать для занятия места.Например, мы можем использовать None для определения массива аналогично C, чтобы предварительно определить размер списка , и реализовать возможное индексирование.
L = [None] * 10
print(L)
Результат определения пустого списка
[None, None, None, None, None, None, None, None, None, None]
логическое значение
Булевы значения в Python, True и False могут не только представлять true и false, но даже использоваться для математических операций:
print(True+1)
print(False+1)
print(True+False)
Результат операции
2
1
1
То есть True равно 1, а False равно 0. Почему логические значения могут выполнять математические операции в Python? мы можем использоватьisinstance
Убедитесь, что это целое число:
print(isinstance(True, int))
print(isinstance(False, int))
Результаты проверки:
True
True
То есть, по сути, само логическое значение является целочисленным типом (int) в Python, то есть тип bool является подклассом типа int.