C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Tip: We never need to call upper() on a string that is already uppercased. Please see the isupper and islower methods.
Python program that uses upper, lower
value = "Tree"
# Uppercase the string.
x = value.upper()
print(x)
# Lowercase the string.
y = value.lower()
print(y)
Output
TREE
tree
Also: Please see the performance test. Is lower is used to improve speed. With it, we can avoid copying strings.
Python program that uses isupper, islower
value1 = "ABC123"
value2 = "abc123"
# Method can be used in an if-statement.
if value1.isupper():
print(1)
# Call methods on both strings.
print(value1.isupper())
print(value2.isupper())
print(value1.islower())
print(value2.islower())
Output
1
True
False
False
True
Here: Please notice that the variable "s" is assigned to the result of capitalize().
Tip: This means capitalize() does not change the existing string in-place. It creates a new copy of the string in memory and returns that.
Python program that uses capitalize
# An input string.
s = "Codex"
# Capitalize and assign.
s = s.capitalize()
print(s)
Output
Perls
Warning: Title will capitalize words that are not supposed to be capitalized, like "of" and "and."
Thus: A custom implementation (not the title method) would be needed if your requirements are more complex.
Python program that uses title string method
value = "the unbearable lightness of being"
# Convert to title case.
result = value.title()
print(result)
Output
The Unbearable Lightness Of Being
Note: As with the title method, istitle will become confused on certain words. It requires all words, even "and" to be capitalized.
Python program that uses istitle
value1 = "A Car"
value2 = "A car"
value3 = "a Car"
value4 = "A123"
value5 = "a123"
# Test istitle method.
print(value1.istitle())
print(value2.istitle())
print(value3.istitle())
print(value4.istitle())
print(value5.istitle())
Output
True
False
False
True
False
Version 1: This version of the code calls the lower() method on every iteration through the loop.
Version 2: This version uses islower() before calling lower(). It never calls lower() because the string is already lowercase.
Result: The code that checks islower() first is faster. This optimization will only work if your data is usually lowercase.
Python program that benchmarks islower, lower
import time
value = "intuitive"
print(time.time())
# Version 1: lower.
i = 0
while i < 10000000:
v = value.lower()
i += 1
print(time.time())
# Version 2: islower and lower.
i = 0
while i < 10000000:
if not value.islower(): v = value.lower()
i += 1
print(time.time())
Output
1384626116.650
1384626122.033 lower(): 5.38 s
1384626124.027 islower() and lower(): 1.99 s