What Does == Mean in Python

5 Min Read

As a Python developer, you have undoubtedly encountered the “==” symbol, which is one of the most common operators in the language. But what does it mean, and how is it used? In this blog post, we’ll dive deep into the == operator and its use cases, along with some helpful code examples. Let’s get started!

The “==” operator in Python is known as the equality operator. It’s used to compare two values and determine if they are equal. The result of this comparison is a Boolean value, either True or False. This operator is often used in conditional statements, loops, and other programming constructs where comparisons are necessary.

How to Use the == Operator

To use the == operator, simply place it between the two values you want to compare. The values can be variables, literals, or expressions. Remember that the == operator only checks if the values are equal; it does not assign values like the “=” operator. Here’s an example of how to use the == operator:

a = 5
b = 7
result = a == b
print(result)  # Output: False

In this example, we compare the values of two variables, “a” and “b.” Since “a” contains 5 and “b” contains 7, the comparison returns False.

Comparing Different Data Types

One interesting aspect of the == operator is its ability to compare values of different data types. In Python, if you compare a string and a number using the == operator, the result will always be False, even if the values appear to be equal when represented as strings.

a = "5"
b = 5
result = a == b
print(result)  # Output: False

In this example, we compare a string containing the character “5” and an integer with the value 5. The comparison returns False because the two values are of different data types.

Using the == Operator in Conditional Statements

The == operator is often used in conditional statements like if-elif-else blocks to perform actions based on whether two values are equal. Here’s an example:

username = "admin"
password = "1234"

if username == "admin" and password == "1234":
    print("Access granted.")
    print("Access denied.")

In this example, we check if the “username” and “password” variables match the correct values. If both conditions are true, the program prints “Access granted.” Otherwise, it prints “Access denied.”

Comparing Objects

When comparing custom objects using the == operator, Python compares their memory addresses by default. However, you can override this behavior by defining the __eq__() method in your class.

Here’s an example of how to override the __eq__() method:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __eq__(self, other):
        if isinstance(other, Person):
            return self.name == other.name and self.age == other.age
        return False

p1 = Person("John", 30)
p2 = Person("John", 30)

print(p1 == p)

In this example, we define a custom class called “Person” with a name and age attribute. We then override the __eq__() method to compare the name and age attributes of two Person objects. When we create two Person objects with the same name and age and compare them using the == operator, the result is now True because the __eq__() method compares their attributes instead of their memory addresses.


In Python, the == operator is used to compare values and determine if they are equal. It’s a versatile and powerful operator that plays a crucial role in many programming constructs. By understanding how to use the == operator effectively, you can write more efficient and cleaner code.

Be sure to explore other Python topics on our blog, such as web scraping, the Python interpreter, skipping a line in Python, and list comprehensions. For more in-depth Python tutorials and code examples, check out our guides on API integration and Python documentation best practices.

Don’t forget to sign up for our newsletter to stay up-to-date on the latest Python and programming tips! Just enter your email below:

    Happy coding!

    Share this Article
    Leave a comment