• Авторизация


Оператор not в Python 10-04-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. Может быть удобно для проверки, было ли в ходе выполнения программы, например, в список или словарь добавлено какое-то значение, или нет.

вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник Оператор not в Python | Linux_Loader - Дневник Linux_Loader | Лента друзей Linux_Loader / Полная версия Добавить в друзья Страницы: раньше»