Equals. In Python strings can be compared for exact equality with 2 equals signs. With this syntax, the characters (and their cases) are compared.
With casefold, we can fold character cases and use case-insensitive compares. So the letter "B" is equal to "b." This is similar to using lower().
An example. Here we test strings for equality. We have several string literals in the program. We use two equals to check character data.
Detail Newer versions of Python support the casefold method. Similar to lower(), it handles Unicode characters better.
Detail We can also use the lower method to standardize the casing of strings in our programs.
value = "CAT"if value == "cat":
print("A") # Not reached.if value == "CAT":
if str.casefold(value) == "cat":
if str.lower(value) == "cat":
Equals, not equals. With the equals operator, the characters of two strings are compared. It does not matter if they are different object instances.
location1 = "forest"
location2 = "FOREST".lower()
# These two strings are equal.if location1 == location2:
# These two strings are not equal.if location1 != "desert":
print("Not in desert")In forest
Not in desert
Some notes, performance. It is fastest to avoid creating temporary strings (as with the lower method) before testing equality. Usually, avoiding allocations helps performance.
A review. We can use the equals and not-equals operators to compare two strings. Often we do this in an if-statement, but the expression can be used in any part of a program.