Python Boolean
In this article, you will learn the boolean variables in python, bool() function in python, and bool operators with examples, Boolean Objects in Python.
There are the only two possible values for a Boolean variable are True or False.
We can say that a variable is considered a boolean if it can only take one of these two possible values. The Truth value of any given expression is frequently represented by it.
In numbers, the value of True is 1, while the False value is 0.
Python Boolean Data type
There are Boolean variables in Python Boolean data type; the True and False keywords in Python are used to declare Boolean variables.
<class ‘bool’>defines that the variable is a Boolean data type.
Let’s understand it by taking an example:
Example:
a = True
type(a) #class of data type
b = False
type(b) #class of data type
Output :
<class 'bool'>
<class 'bool'>
Bool() Function in Python
Bool() method can be used to evaluate values and variables, it is the in-built function in Python programming language. It will return a Boolean value or convert the value to a Boolean value.
The bool() function accepts a single parameter and returns the argument's Boolean value.
Let’s understand this by taking an example:-
Example:
a = 1
# print boolean value of 1
print(a, '=', bool(a))
b = 0
# print boolean value of 1
print(b, '=', bool(b))
Output:
1 = True
0 = False
NOTE: Bool word is not a keyword in Python programming language,This indicates that we can assign a bool-named variable.It will not show any error while executing the program.
Let’s understand it by taking an example:
Example:
#input First number as variable name is bool
bool = int(input("Enter the first number: "))
#input Second number as variable name is bool_1
bool_1 = int(input("Enter the second number: "))
#print first number
print("First Number is: ",bool)
#print second number
print("Second Number is: ",bool_1)
sum = bool + bool_1
#print sum of first and second number
print("Addition of First Number and Second Number: ",sum)
Input:
10
15
Output:
Enter the first number: 10
Enter the second number: 15
First Number is: 10
Second Number is: 15
Addition of First Number and Second Number: 25
In the above example bool is as a variable name.
Syntax of bool()
bool(argument)
#argument is whose boolean value is returned.
If the value of the argument is True or evaluates to True, it returns True; otherwise, it returns False.
Example:
a = 12
# bool() function with integer
print(a, '=', bool(a))
b = 2.35
# bool() function with float
print(b, '=', bool(b))
#return that a and b is equal or not
print(bool(a==b))
c="Welcome to javatpoint"
# bool() function with string
print(c,'=',bool(c))
d=[]
#bool() with empty list
print(d,'=',bool(d))
print(bool(a>b))
print(bool(1==0))
Output:
12 = True
2.35 = True
False
Welcome to javatpoint = True
False
True
False
Boolean Operators in Python
Boolean operators are the operators that always return a boolean value. There are 2 types of operators that deal with the boolean data types or boolean objects.
- Logical Operators
- Comparison Operators
Let’s have a look at these operators one by one.
Logical Operators
Logical operators take boolean values as input, process them, and return a boolean output. In logical operators, all operands are boolean. Python logical operators allow us to perform logical And, Or and Not operations between boolean values. Python has 3 logical operators.
- And operator: and is a binary operator. It takes 2 boolean type operands; if both operands are , then only it returns True else, it returns False.
Truth table of and operator:
p | q | p and q |
True | Ture | True |
True | False | False |
False | True | False |
False | False | False |
Example:
x = True
y = True
print(x and y) # True and True
x = True
y = False
print(x and y) # True and False
x = False
y = True
print(x and y) # False and True
x = False
y = False
print(x and y) # False and False
Output:
True
False
False
False
- Or operator: or is a binary operator. It takes 2 boolean type operands; if one of the operands is False, then it returns True else, it returns False.
Truth table of or operator:
p | q | p or q |
True | Ture | True |
True | False | True |
False | True | True |
False | False | False |
Example:
x = True
y = True
print(x or y) # True or True
x = True
y = False
print(x or y) # True or False
x = False
y = True
print(x or y) # False or True
x = False
y = False
print(x or y) # False or False
Output:
True
True
True
False
- Not operator: not is a unary operator. It takes a single boolean type operand. If the value of the operand is True then it returns False and if the value of the operand is False then it returns True.
The truth table of not operator:
p | not p |
True | False |
False | True |
Example:
p = True
print(not p) # not True
p = False
print(not p) # not False
Output:
False
True
Comparison Operators
To compare two values and establish their relationship, relational or comparison operators are utilized. The operator returns True if operands meet the requirement; otherwise, it returns False. Python has six different comparison operators.
operator | name | expression | explanation |
< | Is less than | x < y | If the value of x is less than y, it will return True. |
<= | Is less than or equal to | x <= y | If the value of x is less than y or equal to y then it will return True. |
> | Is greater than | x > y | If the value of x is greater than y then it will return True. |
>= | Is greater than or equal to | x >= y | If the value of x is greater than y or equal to y then it will return True. |
== | Is equal | x == y | If the value of x is equal to y then it will return True. |
!= | Is not equal | x != y | If the value of x is not equal to y then it will return True. |
Example:
# initializing variables
x = 45
y = 14
a = 45
b = 36
print(x < y) # 45 is less than 14 : False
print(y <= a) # 14 is less than or equal to 45 : True
print(b > y) # 36 is greater than 14 : True
print(b >= a) # 36 is greater than or equal to 45 : False
print(a == x) # 45 is equal to 45 : True
print(y != b) # 14 is not equal to 36 : True
Output:
False
True
True
False
True
True
Note: There are 2 more operators that deals with boolean data type,these are:
- Member Operator
- Identity Operator
Membership Operator: The membership operators in Python check whether a sequence of elements, such as strings, tuples, or lists, is there.
In Python, we have 2 membership operators.
Let’s have a look at these operators one by one.
- in operator: If a variable is in the prescribed sequence, the evaluation is true; otherwise, it is false.
- not in operator: If a variable is not in the prescribed sequence, the evaluation is true; otherwise, it is false.
Let’s understand it by taking an example:
Example:
# initializing list
list_1=[1,2,3]
# initializing list
list_2=[2,4,6]
# print boolean value by using membership operator
print(1 in list_1)
print(5 in list_2)
print(2 not in list_1)
print(5 not in list_2)
Output:
True
False
False
True
Identity Operator: If two objects have the same data type and reside in the same memory address, identity operators are used to comparing them.
In Python, we have 2 membership operators.
Let’s have a look at these operators one by one.
- is operator: If both variables are instances of the same object, it returns True.
- is not operator: If both variables are not instances of the same object, it returns True.
Let’s understand it by taking an example:
Example:
list_1 = [5, 8, 0, 9, 6, 1, 43, 2]
list_2 = [5, 8, 0, 9, 6, 1, 43, 2]
list_3 = list_1
print(list_1 is list_2) # The values of list_1 and 2 are the same but they are different objects.
print(list_1 is list_3) # both are the same objects.
Output:
False
True
Boolean Objects in Python
Python implements booleans as a subclass of integers. There are only two booleans: Py_True and Py_False. As a result, booleans are exempt from the standard creation and deletion operations.
Following macros are given below:-
int PyBool_Check(PyObject *o):
If o is a PyBool_Type object, return true. This process always works.
PyObject *Py_True:
True object in Python.No methods exist for this object. Regarding reference counts, it must be handled the same as any other object.
PyObject *Py_False:
False objects in Python. No methods exist for this object. Regarding reference counts, it must be handled the same as any other object.
Py_RETURN_TRUE:
Functions should return Py_True to properly increment the reference count.
Py_RETURN_FALSE:
Functions should return Py_True to properly increment the reference count.