Подробное объяснение значений True, False и None в Python3

Python
Подробное объяснение значений True, False и None в Python3

Обзор

В 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.