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()
.
Here we test strings for equality. We have several string
literals in the program. We use two equals to check character data.
lower()
, it handles Unicode characters better.value = "CAT" if value == "cat": print("A") # Not reached. if value == "CAT": print("B") if str.casefold(value) == "cat": print("C") if str.lower(value) == "cat": print("D")B C D
Equals
, not equalsWith 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: print("In forest") # These two strings are not equal. if location1 != "desert": print("Not in desert")In forest Not in desert
It is fastest to avoid creating temporary strings (as with the lower method) before testing equality. Usually, avoiding allocations helps performance.
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.