Problem Formulation: Given a string my_string. Find the number of characters of the string! For example, the string
"what is my length?" must yield integer
18 because it has 18 characters.
Here are three examples of our desired outputs:
my_string = "what is my length?" # Desired output: 18 my_string = "hello" # Desired output: 5 my_string = "" # Desired output: 0
Solution: Before we dive into alternatives, here’s the quick answer to this question.
To get the number of characters of a Python string, call Python’s built-in function
len(string). For example,
len('hello') returns 5 and
len('') returns 0. Because the
len() function is a Python built-in function, you don’t need to import any library. Pass any iterable into it to find the number of elements. As a string is an iterable of characters,
len() returns the number of characters on a string value.
Here are the three examples:
my_string = "what is my length?" print(len(my_string)) # 18 my_string = "hello" print(len(my_string)) # 5 my_string = "" print(len(my_string)) # 0
Here’s an introduction into Python’s built-in
Just for comprehensibility, I want to address a variant of this question: How to get the size of a string in Python:
How to Get the Number of Bytes Needed to Encode a String in Python?
To get the number of bytes needed to encode a string in Python, import the
sys module and call function
sys.getsizeof(string) on the string. For example,
sys.getsizeof('hello') returns 54 because it requires 54 bytes to encode the five characters.
Here’s a basic example where you count the number of bytes of the string
import sys print(sys.getsizeof('hello')) # 54
Let’s examine how this number changes when applying it on shorter and shorter strings:
print(sys.getsizeof('ello')) # 53 print(sys.getsizeof('llo')) # 52 print(sys.getsizeof('lo')) # 51 print(sys.getsizeof('o')) # 50 print(sys.getsizeof('')) # 49
You can see that even the empty string requires 49 bytes on my computer for housekeeping! Note that this may be different on your computer with another Python version.
While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.
To help students reach higher levels of Python success, he founded the programming education website Finxter.com. He’s author of the popular programming book Python One-Liners (NoStarch 2020), coauthor of the Coffee Break Python series of self-published books, computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.
His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.