Python Logical Operators

Python Logical Operators
Python Logical Operators

Logical operators are an essential part of Python programming. They allow you to create more complex expressions by combining simpler ones. This blog post explores the three most common logical operators: and, or, and not. We will look at some examples of how they can be used, and discuss their differences. Let's get started!

The Logical AND Operator

The AND operator is probably the most straightforward of the three. It takes two boolean values and returns True if both are True and False otherwise. For example:

Conditions Result
True and True True
True and False False
False and False False


I want to get a new car and a new house. To combine the two expressions, we would use the and operator:

x = input("Will you buy a car right now?\n")
y = input("Will you buy a house right now?\n")

if x == "yes" and y == "yes":
    print("I will save up and buy both!")
    print("I'll have to wait on one or the other.")

The and-operator requires that both conditions are met for the expression to be true. So, in this example, if I only wanted a new car or a new house, the expression would be false, and the else statement would execute.

The Logical OR Operator

The or operator is similar to the and operator, but it only requires one of the two values to be True for it to return True. For example:

Conditions Result
True or True True
True or False True
False or False False


I want to access my geekbits account using either of my names. To combine these two expressions, we would use the or operator:

name = input("Enter Your name.\n")

if name == "J4y" or name == "J3ff":
    print("Welcome to geekbits.")
    print("Name not found")

In this example, only one of the conditions needs to be true for the expression to be true. So if I want to access my geekbits account, I only need to get one of the names right, and the expression evaluates to true. This means that the first statement would execute. If I don't get either of the names right, the else statement executes.

The Logical NOT Operator

Not being a unary operator only takes one value. It negates the boolean value of its operand. So if the operand is True, "not" returns False, and if the operand is False, "not" returns True. For example:

Conditions Result
not True False
not False True


I want to gain access to my geekbits account. We can use the not operator to make this possible:

Pass = input("Enter your password.\n")

if not Pass == "geekbits":
    print("Wrong password!!")
    print("Welcome to geekbits!")

The not operator inverts the expression that follows it. So in this example, If I enter the wrong password, the pass will not equal geekbits hence the expression will evaluate to true and return "Wrong password". On the other hand, if I enter geekbits as the correct password(which it is), the expression would be false because it is negated, and the else statement executes. The NOT operator is tricky to grasp. Play around with the expressions for better understanding.

These are just some examples of logical operators in use in Python programming. Experiment with them and see what other exciting things you can come up with!


These are the three most common logical operators in Python. You can use them to create more complex boolean expressions from simpler ones. We hope this post has helped explain how they work and how you can use them in your code.

Thanks for reading!

If you enjoy our content, please consider buying us a coffee to support our work:

Table of Contents
Great! Next, complete checkout for full access to GeekBits.
Welcome back! You've successfully signed in.
You've successfully subscribed to GeekBits.
Success! Your account is fully activated, you now have access to all content.
Success! Your billing info has been updated.
Your billing was not updated.