David Y.
—In Python, what is the most elegant way to check whether a string is empty?
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!")
Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.
SEE EPISODESConsidered “not bad” by 4 million developers and more than 100,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.