Объяснение к уроку
После этого урока ты сможешь:
False, None, нуля, пустого текста и непустых значений.not для проверки наличия данных или пустоты.bool().0, от действительно отсутствующих данных.Условия в Python не требуют, чтобы проверяемое значение было строго True или False. Многие значения имеют неявную истинность.
Распространённые ложные значения (falsy):
False
None
0
0.0
""Большинство других значений являются истинными (truthy), включая непустые строки и ненулевые числа.
Это делает прямые проверки лаконичными:
if api_token:
print("Token available")Используй not, когда тебе нужна ветка для пустого или отсутствующего значения:
if not api_token:
print("Token missing")Ты можешь вызвать bool(value), чтобы явно увидеть логическое значение. Но прямая проверка истинности подходит не всегда. Если 0 является допустимым числом, то if not retry_limit: обработает его так же, как None. В таких случаях проверяй отсутствие данных строго с помощью is None.
Пустая строка ложна, поэтому выполняется запасная ветка.
release_note = ""
if release_note:
print("Note ready")
else:
print("No release note")Вывод:
No release notenot для ветки пустого значенияnot обращает истинностное значение.
api_token = ""
if not api_token:
print("Authentication unavailable")Вывод:
Authentication unavailablebool()bool() делает интерпретацию Python явной.
print(bool(0))
print(bool(""))
print(bool("worker"))
print(bool(3))Вывод:
False
False
True
TrueНулевой таймаут может быть осознанной настройкой, тогда как None означает, что значение не было передано.
timeout_seconds = 0
if timeout_seconds is None:
print("Timeout: default")
else:
print(f"Timeout: {timeout_seconds}")Вывод:
Timeout: 0| Значение | Логическая интерпретация |
|---|---|
False, None | Falsy |
0, 0.0 | Falsy |
"" | Falsy |
| Непустой текст | Truthy |
| Большинство ненулевых чисел | Truthy |
is None общей проверкой на ложность, когда эта разница важна."False" с булевым значением False; непустой текст всегда истинен.