Я написал код python, в котором у меня есть условие, если объект - None return if it not get object property and check it. Вот пример кода:
b = None
if b is None or b.property == "something":
print("yay")
при запуске код выше печатает AttributeError: 'NoneType' object has no attribute 'property'
код ниже печатает тот же результат.
b = None
if b.property == "something" or b is None:
print("yay")
Вопрос: Предположим, в предложении if
есть много or
проверок после того, как одна из них оценивается как истинная, другие условия могут быть пропущены, потому что результат будет правдой, поэтому его трата #compute power
. То же самое можно применить и к оператору and
, если какое-либо условие равно 0, результат равен нулю. Итак, почему в приведенном выше примере выдается exception
?