Strings are a very important and frequently used data type in python. Therefore, it is essential to learn about strings and its various functionalities so that we can utilize the strings to their full potential. One such task is Python string compare.
But before we learn about Python string compare, let us learn briefly about the strings in python.
Strings in Python
Strings regardless of the programming language, are basically sequence of characters. A character is any symbol. Numbers, alphabets, operators, special characters(#, @, ~ etc.) are all considered as symbols in python.
The Computer understands only binary. Therefore, there is a need to convert the characters into binary language. This is known as Encoding. The process to convert the binary( opposite of encoding) is known as Decoding. Some common encoding are ASCII and Unicode. In python, the encoding is done using Unicode.
Python String Compare
Method 1: Python String Comparison Operators
In python, a string is comprised of two attributes – length and sequence of characters. On this basis, the strings in python can be compared using relational operators.
- ==: This operator checks whether two strings are equal(either in length or the characters).
- !=: This operator checks whether two strings are not equal(either in length or the characters).
- <: This operator checks whether the string on the left side is smaller than the string on the right side.
- <=: This operator checks whether the string on the left side is smaller or equal to the string on the right side.
- >: This operator checks whether the string on the left side is greater than the string on the right side.
- >=: This operator checks whether the string on the left side is greater than the string on the right side.
Method 2: What is String Equals Check in Python ?
Besides the relational operator “==”, python also provides a string equals function to check the equality of two strings. The usage is given below.
Example:
s1 = "This is a string"
s2 = "This is a string"
# using relational operator
if(s1 == s2):
print("The two strings are equal according to == operator")
#using string equals function
if(s1.__eq__(s2)):
print("The two strings are equal according to string equals function")
Output:
The two strings are equal according to the == operator
The two strings are equal according to the string equals function.
You May Also Like
Python Replace Character In String | 6 Best Methods to Follow
Method 3: Case Insensitive Comparisons
Both the ‘==’ operator and string equals function are case sensitive (meaning capital and small letters are treated as unequal). But in real world scenario, there might be a need to compare strings such that the result is case independent e.g., name of students like Rahul or rahul or RAHUL should be considered same name.
For cases like these we use string methods to either convert all the characters of a string to uppercase or lowercase and then compare. In this way the comparison can be done in case insensitive manner.
Example:
s1 = "This is a string"
s2 = "This is a string"
#using casefold() function: converts all characters to lowercase
print(s1.casefold())
print(s2.casefold())
if(s1.casefold() == s2.casefold()):
print("s1 and s2 are equal in case insensitive comparison")
#using lower() function: converts all characters to lowercase
print(s1.lower())
print(s2.lower())
if(s1.lower() == s2.lower()):
print("s1 and s2 are equal in case insensitive comparison")
#using upper() function: converts all characters to uppercase
print(s1.upper())
print(s2.upper())
if(s1.upper() == s2.upper()):
print("s1 and s2 are equal in case insensitive comparison")
Output:
this is a string
this is a string
s1 and s2 are equal in case insensitive comparison
this is a string
this is a string
s1 and s2 are equal in case insensitive comparison
THIS IS A STRING
THIS IS A STRING
s1 and s2 are equal in case insensitive comparison
Conclusion
In this article, we studied have seen Python string compare. We also learnt about the string equals function and case in sensitive comparisons.
The string comparison is a very important task that needs to be implemented in various places like checking if the username and password match during authentication etc.
Thus it is a very useful functionality to learn. If you know any other methods on Python string compare then comment down below.