not abc: ?
Это разные абсолютно вещи
смотря что ты хочешь сделать
В данном примере для булевых значений как лучше?
Спасибо
abc is False проверяет является ли значение abc False или нет not abc автоматом кастит abc к булеану перед проверкой на False
выглядит хуево
Нормально выглядит
Не очень понял разницы (именно в действии)
abc = [] print(not abc) >> True print(abc is False) >> False _____ abc = False print(not abc) >> True print(abc is False) >> True
советую прочесть https://peps.python.org/pep-0008/#programming-recommendations
Also, beware of writing if x when you really mean if x is not None Ты читал, что скинул?)
Don’t compare boolean values to True or False using ==: # Correct: if greeting: # Wrong: if greeting == True: Worse: # Wrong: if greeting is True:
Ну окей, в пеп написано, что так немного хуже, чем с кастом
так ли плохо сравнивать через is? возможно тебе нужно обработать внутри ифа число 0 конечно возникает вопрос - какого хрена в переменной может быть и число и bool - но это уже другой разговор)
числа не стоит сравнивать через is
Ну числа не стоит офк, еще недавно можно было удивиться сильно. Просто я а 99% случаев автокаст делаю, а в 1% случаев может прийти то, что автокастится неправильно в теории
Может. Но там был конкретный пример где a = False
да я про то, что если greeting это 0, то все равно его обработать (например сделать принт и чтобы получилось [0 , 1] а не [False, 1]) но такая ситуация конечно говорит о херовом проектировании
Обсуждают сегодня