사용자 정의 클래스의 진리성을 정의하기 위해 __bool__() 이중 밑줄 메서드(dunder method)를 포함시킬 수 있습니다. NumPy와 Pandas에서 볼 수 있듯이 다른 작업을 수행할 수도 있지만, 대부분의 경우 해당 메서드는 True 또는 False를 반환합니다. 반환되는 값은 사용자 정의 클래스 인스턴스에 알맞은 기준에 따라 결정됩니다.
매우 드문 상황에서 is True와 is False가 의미가 있을 때 이를 사용할 수도 있지만, True와 False가 이미 고유한 식별자이기 때문에 obj == True 또는 obj == False를 사용하는 것이 파이써니스타들은 불안할 것입니다. 파이썬에서는 0이 아닌 숫자와 비어 있지 않은 컬렉션은 참에 해당하며, 0과 빈 컬렉션은 거짓에 해당합니다. 이 정도만 알고 있으면 대부분의 구조에 적용할 수 있습니다.