НАСКОЛЬКО МНЕ ИЗВЕСТНО :
and
, or
являются логическими операторами, и любое логическое выражение должно возвращать логическое значение.
Итак, почему это происходит:
False or 'name'
возвращает'name'
, а неTrue
True and ''
возвращает''
, а неFalse
Пожалуйста, объясните, как python обрабатывает логические выражения?