Check if a string is empty in Python

David Y.

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!")
Join the discussionCome work with us
Share on Twitter
Bookmark this page
Ask a questionImprove this Answer

Related Answers

A better experience for your users. An easier life for your developers.

    TwitterGitHubDribbbleLinkedin
© 2023 • Sentry is a registered Trademark
of Functional Software, Inc.