Check if a string is empty in Python
The Problem
In Python, what is the most elegant way to check whether a string is empty?
The Solution
In Python, empty strings are considered equivalent to False for boolean operations. Therefore, we can use not to check whether a string is empty:
if not my_string:
print("my_string is empty!")
else:
print("my_string is not empty!")
Note that this will only work in contexts where we know for certain that my_string contains a string. The expression in our if statement above would also evaluate to True if my_string contained the boolean value False, or even an empty list. If we want to ensure that my_string is an empty string and not a different false-equivalent value, we should do the following:
if my_string == "":
print("my_string is an empty string!")
else:
print("my_string is not an empty string!")
A string containing only whitespace would not be considered empty by Python. If our code needs to consider " " and "" as equivalently empty strings, we can use string.strip with no arguments to remove whitespace before making the comparison.
if my_string.strip() == "":
print("my_string is an empty string!")
else:
print("my_string is not an empty string!")
Considered "not bad" by 4 million developers and more than 150,000 organizations worldwide, Sentry provides code-level observability to many of the world's best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.