Почему кортеж с
- Одинокий Ни один элемент не оценивает (правильный и предполагаемый) Ложь
- больше чем одно (но все) Ни одно из значений не соответствует True?
Кортеж с одним элементом None:
>>> metadata = (None)
>>> if metadata:
... print("True")
... else:
... print("False")
...
False
Кортеж с одним или несколькими элементами None:
>>> metadata = (None, None)
>>> if metadata:
... print("True")
... else:
... print("False")
...
True
Когда в кортеже более одного элемента None, я решил использовать
>>> if all(metadata):
... print("True")
... else:
... print("False")
...
False
чтобы получить желаемые результаты (то есть, если все значения в кортеже равны None, я хочу, чтобы его оценка оценивалась как None).
Когда кортеж оценивается, учитывается ли его длина для оценки, а не короткое замыкание его значений? В чем причина такой реализации?
>>> len(metadata)
2
>>>