Python String lower() Method

The lower() method converts all uppercase characters in a string to lowercase.

Syntax

string.lower()

Parameter

Doesn’t accept any parameters.

Return Value

Returns a new string where all characters are converted to lowercase.

Examples

Basic Usage

text = "Hello"
print(text.lower()) # hello

String with Numbers and Symbols

Characters that are already lowercase or are not letters like numbers, symbols, and whitespace remain unchanged.

mixed_text = "I ran 5 miles this morning!"
print(mixed_text.lower()) # i ran 5 miles this morning!

Practical Application

The lower() method is commonly used for case-insensitive string operations like comparisons, searching, or sorting.

Case-insensitive Comparisons:

The lower() method is often used to compare strings regardless of their case.

user_input = "Yes"

if user_input.lower() == "yes":
    print("Welcome to the club")
else:
    print("Access denied")

Output:

Welcome to the club

In the above example, the user enters "Yes" with an uppercase "Y". To make the comparison case-insensitive, we use the lower() method to convert the input to lowercase before comparing it to the string "yes". This way, no matter how the user types "yes", whether it is "YES", "Yes", "yES", "YeS", or "yes", we can handle it consistently.

Normalizing Data

Converting text data like usernames, emails, or search queries to lowercase ensures consistency.

emails = ["James@gmail.com", "alice@gmail.com", "ADMIN@GMAIL.COM"]

normalized_emails = [email.lower() for email in emails]
print(normalized_emails)

Output:

['james@gmail.com', 'alice@gmail.com', 'admin@gmail.com']

Use casefold() instead of lower() when working with non-English languages (e.g., German, Turkish, or Greek).