-Поиск по дневнику

Поиск сообщений в Linux_Loader

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 20.04.2008
Записей: 743
Комментариев: 2542
Написано: 7716


Оператор not в Python

Суббота, 10 Апреля 2021 г. 18:51 + в цитатник

 

Оператор not в Python на первый взгляд иногда ведёт себя нелогично. Например,

print([] == False)  # выведет False, но:

if not False:

    print('not False')   # выведет not False

if not []:

    print('not []')  # выведет not []

То есть пустой список ведёт себя точно так же, как и False, при этом не равняясь ему.

Дело, оказывается, вот в чём. not возвращает True, если ему передано булево значение False, или любое другое, имеющее длину == 0, или же сам 0 (неважно в каком виде: int, float или complex). То есть "пустые" или нулевые значения в конструкции if not ... будут вести себя как False. Может быть удобно для проверки, было ли в ходе выполнения программы, например, в список или словарь добавлено какое-то значение, или нет.


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку