Python logical operators are used to combine conditional statements, allowing you to perform operations based on multiple conditions. These Python operators, alongside arithmetic operators, are special symbols used to carry out computations on values and variables. In this article, we will discuss logical operators in Python definition and also look at some Python logical operators programs, to completely grasp the concept.
Python
# Example: Logical Operators (AND, OR, NOT) with generic variables
a, b, c = True, False, True
# AND: Both conditions must be True
if a and c:
print("Both a and c are True (AND condition).")
# OR: At least one condition must be True
if b or c:
print("Either b or c is True (OR condition).")
# NOT: Reverses the condition
if not b:
print("b is False (NOT condition).")
In Python, Logical operators are used on conditional statements (either True or False). They perform Logical AND, Logical OR, and Logical NOT operations.
| Operator | Description | Syntax | Example |
|---|
| and | Returns True if both the operands are true | x and y | x>7 and x>10 |
| or | Returns True if either of the operands is true | x or y | x<7 or x>15 |
| not | Returns True if the operand is false | not x | not(x>7 and x> 10) |
Truth Table for Logical Operators in Python

Truth Table for Python Logical Operators
AND Operator in Python
The Boolean AND operator returns True if both the operands are True else it returns False. 
Logical AND operator Examples
Python
a = 10
b = 10
c = -10
if a > 0 and b > 0:
print("The numbers are greater than 0")
if a > 0 and b > 0 and c > 0:
print("The numbers are greater than 0")
else:
print("Atleast one number is not greater than 0")
Output
The numbers are greater than 0
Atleast one number is not greater than 0
Example 2: The code checks if all variables a, b, and c evaluate to True, printing a message accordingly.
Python
a = 10
b = 12
c = 0
if a and b and c:
print("All the numbers have boolean value as True")
else:
print("Atleast one number has boolean value as False")
Output
Atleast one number has boolean value as False
Note: If the first expression is evaluated to be false while using the AND operator, then the further expressions are not evaluated.
Python OR Operator
The Boolean OR operator returns True if either of the operands is True.

Logical OR operator in Python Examples
Python
a = 10
b = -10
c = 0
if a > 0 or b > 0:
print("Either of the number is greater than 0")
else:
print("No number is greater than 0")
if b > 0 or c > 0:
print("Either of the number is greater than 0")
else:
print("No number is greater than 0")
Output
Either of the number is greater than 0
No number is greater than 0
Example 2: The code checks if any of the variables a, b, or c has a boolean value as True; if so, it prints “At least one number has boolean value as True”, otherwise, it prints “All the numbers have boolean value as False”.
Python
a = 10
b = 12
c = 0
if a or b or c:
print("Atleast one number has boolean value as True")
else:
print("All the numbers have boolean value as False")
Output
Atleast one number has boolean value as True
Note: If the first expression is evaluated to be True while using or operator, then the further expressions are not evaluated.
Python NOT Operator
The Boolean NOT operator works with a single boolean value. If the boolean value is True it returns False and vice-versa.

Logical NOT Operator Examples
The code checks if a is divisible by either 3 or 5, otherwise, it prints a message indicating that it is not. Let’s look at this Python NOT operator program to understand its working.
Python
a = 10
if not a:
print("Boolean value of a is True")
if not (a % 3 == 0 or a % 5 == 0):
print("10 is not divisible by either 3 or 5")
else:
print("10 is divisible by either 3 or 5")
Output
10 is divisible by either 3 or 5
Order of Precedence of Logical Operators
In the case of multiple operators, Python always evaluates the expression from left to right. We can verify Python logical operators precedence by the below example.
Python
def order(x):
print("Method called for value:", x)
return True if x > 0 else False
a = order
b = order
c = order
if a(-1) or b(5) or c(10):
print("Atleast one of the number is positive")
Output
Method called for value: -1
Method called for value: 5
Atleast one of the number is positive
Python Logical Operators – FAQs
How to use and, or, and not operators in Python?
In Python, logical operators are used to combine or invert boolean values:
and: Returns True if both operands are True.
result = (5 > 3) and (8 > 5) # Returns True
or: Returns True if at least one of the operands is True.
result = (5 > 3) or (8 < 5) # Returns True
not: Returns True if the operand is False, and False if the operand is True.
result = not (5 > 3) # Returns False
How do logical operators differ from bitwise operators in Python?
Logical and bitwise operators serve different purposes:
Logical Operators: Work on boolean values and are used for logical operations.
result = True and False # Logical AND
Bitwise Operators: Work on integer values at the binary level.
result = 5 & 3 # Bitwise AND, result is 1
Can logical operators be used with non-boolean values in Python?
Yes, logical operators can be used with non-boolean values. Python evaluates non-boolean values in a boolean context:
and: Returns the first falsy value or the last value if all are truthy.
result = [] and "Non-empty" # Returns []
or: Returns the first truthy value or the last value if all are falsy.
result = [] or "Non-empty" # Returns "Non-empty"
not: Returns the boolean negation of the value.
result = not [] # Returns True
How to chain multiple logical conditions in Python?
You can chain multiple logical conditions using and, or, and not operators:
result = (5 > 3) and (8 > 5) or (2 < 1) # Evaluates to True
Logical conditions are evaluated from left to right, with precedence rules applying as per the operator hierarchy.
Similar Reads
Python Operators
In Python programming, Operators in general are used to perform operations on values and variables. These are standard symbols used for logical and arithmetic operations. In this article, we will look into different types of Python operators. OPERATORS: These are the special symbols. Eg- + , * , /,
12 min read
Precedence and Associativity of Operators in Python
In Python, operators have different levels of precedence, which determine the order in which they are evaluated. When multiple operators are present in an expression, the ones with higher precedence are evaluated first. In the case of operators with the same precedence, their associativity comes int
4 min read
Python Arithmetic Operators
Python Arithmetic Operators
Python operators are fundamental for performing mathematical calculations. Arithmetic operators are symbols used to perform mathematical operations on numerical values. Arithmetic operators include addition (+), subtraction (-), multiplication (*), division (/), and modulus (%). Addition OperatorIn
4 min read
Difference between / vs. // operator in Python
In this article, we will see the difference between the / vs // operator in Python Python Division OperatorThe division operator '/ ' performs standard division, which can result in a floating-point number. However, if both the dividend and divisor are integers, Python will perform integer division
2 min read
Python - Star or Asterisk operator ( * )
There are a many places you’ll see * and ** used in Python. Many Python Programmers even at the intermediate level are often puzzled when it comes to the asterisk ( * ) character in Python. After studying this article, you will have a solid understanding of the asterisk ( * ) operator in Python and
3 min read
What does the Double Star operator mean in Python?
Double Star or (**) is one of the Arithmetic Operator (Like +, -, *, **, /, //, %) in Python Language. It is also known as Power Operator. What is the Precedence of Arithmetic Operators? Arithmetic operators follow the same precedence rules as in mathematics, and they are: exponential is performed f
3 min read
Division Operators in Python
Division Operators allow you to divide two numbers and return a quotient, i.e., the first number or number at the left is divided by the second number or number at the right and returns the quotient. Division Operators in PythonThere are two types of division operators: Float divisionInteger divisio
6 min read
Modulo operator (%) in Python
When we see a '%' the first thing that comes to our mind is the "percent" but in computer language, it means modulo operation(%) which returns the remainder of dividing the left-hand operand by right-hand operand or in layman's terms it finds the remainder or signed remainder after the division of o
4 min read
Python Logical Operators
Python logical operators are used to combine conditional statements, allowing you to perform operations based on multiple conditions. These Python operators, alongside arithmetic operators, are special symbols used to carry out computations on values and variables. In this article, we will discuss l
6 min read
Python OR Operator
Python OR Operator takes at least two boolean expressions and returns True if any one of the expressions is True. If all the expressions are False then it returns False. Flowchart of Python OR OperatorTruth Table for Python OR OperatorExpression 1Expression 2ResultTrueTrueTrueTrueFalseTrueFalseTrueT
4 min read
Difference between 'and' and '&' in Python
and is a Logical AND that returns True if both the operands are true whereas '&' is a bitwise operator in Python that acts on bits and performs bit-by-bit operations. Note: When an integer value is 0, it is considered as False otherwise True when used logically. and in PythonThe 'and' keyword in
6 min read
not Operator in Python | Boolean Logic
Python not keyword is a logical operator that is usually used to figure out the negation or opposite boolean value of the operand. The Keyword 'not' is a unary type operator which means that it takes only one operand for the logical operation and returns the complementary of the boolean value of the
5 min read
Ternary Operator in Python
The ternary operator in Python allows us to perform conditional checks and assign values or perform operations on a single line. It is also known as a conditional expression because it evaluates a condition and returns one value if the condition is True and another if it is False. Basic Example of T
5 min read
Python Bitwise Operators
Operators are used to perform operations on values and variables. These are the special symbols that carry out arithmetic and logical computations. The value the operator operates on is known as the Operand. Python bitwise operators are used to perform bitwise calculations on integers. The integers
6 min read
Python Assignment Operators
Assignment Operators in Python
The Python Operators are used to perform operations on values and variables. These are the special symbols that carry out arithmetic, logical, and bitwise computations. The value the operator operates on is known as the Operand. Assignment Operators are used to assign values to variables. This opera
7 min read
Python := Walrus Operator in Python 3.8
The Walrus Operator is a new addition to Python 3.8 and higher. In this article, we're going to discuss the Walrus operator and explain it with an example. Walrus Operator allows you to assign a value to a variable within an expression. This can be useful when you need to use a value multiple times
2 min read
Increment += and Decrement -= Assignment Operators in Python
If you're familiar with Python, you would have known Increment and Decrement operators ( both pre and post) are not allowed in it. Python is designed to be consistent and readable. One common error by a novice programmer in languages with ++ and -- operators are mixing up the differences (both in pr
3 min read
Merging and Updating Dictionary Operators in Python 3.9
Python 3.9 is still in development and scheduled to be released in October this year. On Feb 26, alpha 4 versions have been released by the development team. One of the latest features in Python 3.9 is the merge and update operators. There are various ways in which Dictionaries can be merged by the
3 min read
New '=' Operator in Python3.8 f-string
Python have introduced the new = operator in f-string for self documenting the strings in Python 3.8.2 version. Now with the help of this expression we can specify names in the string to get the exact value in the strings despite the position of the variable. Now f-string can be defined as f'{expr=}
1 min read
Python Relational Operators
Comparison Operators in Python
Python operators can be used with various data types, including numbers, strings, boolean and more. In Python, comparison operators are used to compare the values of two operands (elements being compared). When comparing strings, the comparison is based on the alphabetical order of their characters
4 min read
Python NOT EQUAL operator
In this article, we are going to see != (Not equal) operators. In Python, != is defined as not equal to operator. It returns True if operands on either side are not equal to each other, and returns False if they are equal. Python NOT EQUAL operators SyntaxThe Operator not equal in the Python descrip
3 min read
Difference between == and is operator in Python
In Python, == and is operators are both used for comparison but they serve different purposes. The == operator checks for equality of values which means it evaluates whether the values of two objects are the same. On the other hand, is operator checks for identity, meaning it determines whether two
4 min read
Chaining comparison operators in Python
Checking more than two conditions is very common in Programming Languages. Let's say we want to check the below condition: a < b < c The most common syntax to do it is as follows: if a < b and b < c : {...} In Python, there is a better way to write this using the Comparison operator Chai
5 min read
Python Membership and Identity Operators
There is a large set of Python operators that can be used on different datatypes. Sometimes we need to know if a value belongs to a particular set. This can be done by using the Membership and Identity Operators. In this article, we will learn about Python Membership and Identity Operators. Table of
5 min read
Difference between != and is not operator in Python
In this article, we are going to see != (Not equal) operators. In Python != is defined as not equal to operator. It returns True if operands on either side are not equal to each other, and returns False if they are equal. Whereas is not operator checks whether id() of two objects is same or not. If
3 min read