Странная рекомендация PEP8 по сравнению логических значений с True или FalsePython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Странная рекомендация PEP8 по сравнению логических значений с True или False

Сообщение Anonymous »

В конце Python PEP 8 я читаю:
  • Не сравнивайте логические значения с True или False, используя ==< /код>

    Код: Выделить всё

     Yes:   if greeting:
    No:    if greeting == True:
    Worse: if greeting is True:
    
У меня нет проблем с этой рекомендацией, когда логическое значение истинно, но при проверке это звучит странно для False.
Если я хочу знать, является ли переменное приветствие False, почему бы мне не написать следующее?

Код: Выделить всё

    if greeting == False:
Если я напишу не приветствие: это будет иметь совсем другой смысл, чем приведенное выше утверждение. Что делать, если приветствие имеет значение «Нет»? Что, если это пустая строка? Означает ли эта рекомендация PEP 8, что переменные, хранящие логические значения, должны содержать только значения True или False и что для этих переменных следует избегать None?
На мой взгляд, это похоже на рекомендацию, исходящую из других языков со статической типизацией и это не очень хорошо сочетается с Python, по крайней мере, по сравнению с False.
И кстати, почему, если приветствие имеет значение True: описано как хуже, чем если приветствие == True:? Должны ли мы также понимать, что если приветствие имеет значение False:, это также хуже, чем если приветствие == False:?

Подробнее здесь: https://stackoverflow.com/questions/405 ... e-or-false
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»