Skip to content
Related Articles

Related Articles

Python 3 – Logical Operators
  • Last Updated : 10 Jul, 2020

Logical Operators are used to perform certain logical operations on values and variables. These are the special reserved keywords that carry out some logical computations. The value the operator operates on is known as Operand. In Python, they are used on conditional statements (either True or False), and as a result, they return boolean only (True or False). They are used to combine conditional statements

There are following logical operators supported by Python language:

  • Logical AND
  • Logical OR
  • Logical NOT

Logical AND

Logical operator AND returns True only if both the operands are True else it returns False. It is a binary operator, which means to return some value, it has to be operated between two operators (i.e, two operators are required)

Truth Table:

Operator A Operator B Logical AND result
True True True
True False False
False True False
False False False

Example 1:



Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

   
a = 12
b = 26
c = 4
  
if a > b and a > c: 
    print("Number a is larger"
  
if b > a and b > c: 
    print("Number b is larger"
  
if c > a and c > b:    
    print("Number c is larger"

chevron_right


Output:

Number b is larger

Example 2:

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

a = 10
    
if (a == 0 and "Hello"):
    print("a has value zero(0)")
else:
    print("a is not equal to zero")

chevron_right


Output:

a is not equal to zero

If the first expression evaluated to be false while using and operator, then further expressions are not evaluated. Also, any string is always considered a true statement. In the above example, the first condition is false and hence it will not check the second condition and hence, it will not check for another condition and it will go to else statement.

Logical OR

The logical operator OR returns False only if both the operands are False else it returns True. It is a binary operator, which means to return some value, it has to be operated between two operators (i.e, two operators are required)

Truth Table:

Operator A Operator B Logical OR Result
True True True
True False True
False True True
False False False

Example 1:

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

a = 10
b = -5
  
if a < 0 or b < 0:
  print("Their product will be negative")
else:
  print("Their product will be positive")

chevron_right


Output:



Their product will be negative

Example 2:

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

a = 10
  
if (a == 0 or "GeeksForGeeks"):
  print("Is Awesome")
else:
  ("Try Again!")

chevron_right


Output:

Is Awesome

Here, in the OR Logical operator, even if the first expression evaluated is false while using and operator, then also the further expressions are evaluated. Also, any string is always considered a true statement. In the above example, the first statement is false but then too, it will evaluate the second statement because it returns False only if both the operands are False and since the string is considered as True statement, thus, it will be evaluated and the below print statement will be printed.

Logical NOT

Logical NOT operator works with the single boolean value and returns the value as True if the boolean value is False and vice-versa (that is the opposite of it).  It is a unary operator, which means to return some value, it has to be operated on one operator only. (i.e, only operator is required)

Truth Table:

Operator A Logical NOT Result
True False
False True

Example 1:

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

a = 10
  
if not a == 10:
  print ("a not equals 10")
else:
  print("a equals 10")

chevron_right


Output:

a equals 10

Here, a is equal to 10 the boolean a == 10 return the value True. Hence, the boolean not a == 10 will return the value as False and since the if condition is not satisfied, it will jump to else statement. 

Example 2:

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

a = 10
  
if not a%5 == 0:
  print("a is not perfectly divisible by 5")
else:
  print("a is perfectly divisible by 5")

chevron_right


Output:

a is perfectly divisible by 5

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :