Strings in Python are compared with == and != operators. These compare if two Python strings are equivalent or not equivalent, respectively. They return True or False.

Often, when you’re working with strings in Python, you may want to compare them to each other. For example, you may want to compare a user’s email address against the one you have stored in a database when you are asking them to reset their password.

Python includes a number of comparison operators that can be used to compare strings. These operators allow you to check how strings compare to each other, and return a True or False value based on the outcome.

This tutorial will discuss the comparison operators available for comparing strings in Python. We’ll walk through an example of each of these operators to show how they work, and how you can use them in your code. If you’re looking to learn how to compare strings in Python, this article is for you.

Python String is and is Not Equal To

Strings are sequences of characters that can include numbers, letters, symbols, and whitespaces. Strings are an important data type because they allow coders to interact with text-based data in their programs.

When you’re working with a string, you may want to see whether a string is or is not equal to another string. That’s where the == and != string comparison operators come in.

The == equality operator returns True if two values match; otherwise, the operator returns False. The != operator returns True if two values do not match, and False if two values match.

It’s important to note that string comparisons are case sensitive. So, lowercase letters and uppercase letters will affect the result of the comparisons you perform in your Python program.

Let’s say that you are building a game that tests players on their knowledge of state capitals. In order to earn points, players must correctly answer a question. So, a player may be given the state California, and in order to gain points, they would need to enter that the capital is Sacramento into the program.

Here’s an example of this guessing game application that compares a user’s answer to the answer stored by the program:

random_state = "Delaware"

message = "What is the capital of ", random_state
user_answer = input(message)

state_capital = "Dover"

if user_answer == state_capital:
	print("You are correct!")
	print("The capital of ", random_state, "is", state_capital)

Here’s what happens when we run our guessing game and correctly guess the state capital of Delaware is Dover:

What is the capital of Delaware
You are correct!

Our strings are equal, so our if statement evaluates to correct and prints out You are correct!. If we incorrectly guess the state capital is Denver, our code would return:

What is the capital of Delaware
The capital of Delaware of Dover

Let’s break down our code. On the first one, we declare our random state, which in this case is Delaware. Then, we use the user input() method to ask the user What is the capital of Delaware.

Our program then declares the state capital is Dover, and uses an if statement to compare whether the state capital the program has stored is equal to what the user has entered. 

When we entered Dover, the if statement evaluated to True, so our program printed the message You are correct! to the console. When we entered Denver, our statement evaluated to False, so our program executed the code in the else print statement.

Python is Operator

The most common method used to compare strings is to use the == and the != operators, which compares variables based on their values. However, if you want to compare whether two object instances are the same based on their object IDs, you may instead want to use is and is not.

The difference between == and is (and != and is not) is that the == comparison operator compares two variables based on their actual value, and the is keyword compares two variables based on their object ids.

Let’s use an example. Say that we have the scores of two users stored as a string, and we want to see whether or not they are the same. We could do so using the following code:

player_one_score = "100"
player_two_score = "100"

if player_one_score is player_two_score:
print("Player #1 and #2 have the same number of points.")
	print("Player #1 and #2 do not have the same number of points.")

Our code returns:

Player #1 and #2 have the same number of points. 

In the above code, we could also have used the == operator. However, we used the is operator instead because it uses up less memory and we only needed to compare two objects.

The statement player_one_score is player_two_score evaluated to True in our program because both variables player_one_score and player_two_score have the same object IDs. We can check these IDs by using the id keyword:


Our code returns:


As you can see, our objects are the same, and so the is operator evaluated to True. Generally, you should use == when you’re comparing immutable data types like strings and numbers, and is when comparing objects.

Python Other Comparison Operators

In addition, you can compare strings in lexicographic order using Python. Lexicographic order refers to ordering letters based on the alphabetical order of their component letters. To do so, we can use the other comparison operators offered by Python. These are as follows:

  • < – Less than
  • > – Greater than
  • <= – Less than or equal to
  • >= – Greater than or equal to

Let’s say we were creating a program that takes in two student names and returns a message with whose name comes first in the alphabet.

We could use the following code to accomplish this task:

student_one = "Penny"
student_two = "Paul"

if student_one > student_two:
	print("Penny comes before Paul in the alphabet.")
elif student_one < student_two:
	print("Paul comes before Penny in the alphabet.")

Our code returns:

Paul comes before Penny in the alphabet.

Let’s break down our code. On the first two lines, we declare two variables that store our student names. In this case, these names are Penny and Paul.

Then, we create an if statement that uses the greater than operator to determine whether Penny’s name comes before Paul’s name in lexicographic order. If this evaluates to True, a message is printed to the console telling us that Penny comes before Paul in the alphabet.

We also create an elif statement that uses the less than operator to determine whether Penny’s name comes before Paul’s name in the alphabet. If this evaluates to True, a message is printed to the console telling the user that Paul comes before Penny in the alphabet.

In this case, Paul’s name comes before Penny’s in the alphabet, so the code in our elif block evaluates to true, and the message Paul comes before Penny in the alphabet. is printed to the console.


Comparing two strings is an important feature of Python. For instance, you may be creating a login form that needs to compare the password a user has entered with the password they have set for their account.

Python comparison operators can be used to compare strings in Python. These operators are: equal to (==), not equal to (!=), greater than (>), less than (<), less than or equal to (<=), and greater than or equal to (>=). This tutorial explored how these operators can be used to compare strings, and walked through a few examples of string comparison in Python.

You’re now ready to start comparing strings in Python like a pro!

Leave a Reply

Your email address will not be published.

Sign Up for Our Newsletters

Get notified of the best articles on our blog.

You May Also Like

CR2025 VS CR2032: Which Batteries are Better?

In today’s article, we’re going to compare the similarities and differences between…

5 Websites To Go When Bored At Work or At School

Sometimes our work might be so boring that we intend not to…

Python String to Int() and Int to String Tutorial: Type Conversion in Python

How to Convert Python String to Int:To convert a string to integer…

Python nameerror name is not defined Solution

NameErrors are one of the most common types of Python errors. When…