Computer >> Computer tutorials >  >> Programming >> Python

Python Truth Value Testing


We can use any object to test the truth value. By providing the condition in the if or while statement, the checking can be done.

Until a class method __bool__() returns False or __len__() method returns 0, we can consider the truth value of that object is True.

  • The value of a constant is False, when it is False, or None.

  • When a variable contains different values like 0, 0.0, Fraction(0, 1), Decimal(0), 0j, then it signifies the False Value.

  • The empty sequence ‘‘, [], (), {}, set(0), range(0), Truth value of these elements are False.

The truth value 0 is equivalent to False and 1 is same as True.

Example Code

class A: #The class A has no __bool__ method, so default value of it is True
   def __init__(self):
      print('This is class A')
        
a_obj = A()

if a_obj:
   print('It is True')
else:
   print('It is False')
    
class B: #The class B has __bool__ method, which is returning false value
   def __init__(self):
      print('This is class B')
        
   def __bool__(self):
      return False
b_obj = B()
if b_obj:
   print('It is True')
else:
   print('It is False')
 myList = [] # No element is available, so it returns False
if myList:
   print('It has some elements')
else:
   print('It has no elements')
    
mySet = (10, 47, 84, 15) # Some elements are available, so it returns True
if mySet:
   print('It has some elements')
else:
   print('It has no elements')

Output

This is class A
It is True
This is class B
It is False
It has no elements
It has some elements