Summary: in this tutorial, you will learn how to use the Python len()
function to get the number of items of an object.
Introduction to the Python len() function
The
function returns the number of items (length) of an object. Here’s the syntax of the len()
function:len()
len(s)
Code language: Python (python)
In this syntax, the s is an object that you want to get the length. The object can be:
- A sequence such as a string, bytes, tuple, list or range.
- A collection such as a dictionary, a set or a frozen set.
- Or any user-defined object that implements the
__len__()
method.
When you call the
function on an object, the len()
function will delegate to __len__ method of the object. In other words, it’ll call the len()
__len__()
method of the object.
So the following function call:
len(obj)
Code language: Python (python)
is equivalent to:
obj.__len__()
Code language: Python (python)
Python len() function examples
Let’s take some examples of using Python len()
function.
1) Using the len() function with a sequence
The following example shows how to use the len()
function to get the length of a string, the number of elements in a tuple, and the number of items in a range:
s = 'Python'
print(len(s)) # 👉 6
seasons = ('Spring', 'Summer', 'Autumn', 'Winter')
print(len(seasons)) # 👉 4
r = range(1, 10)
print(len(r)) # 👉 9
Code language: Python (python)
2) Using the len() function with a collection
The following example uses the len()
function to get the number of items in a collection:
days = {
1: 'Sun',
2: 'Mon',
3: 'Tue',
4: 'Wed',
5: 'Thu',
6: 'Fri',
7: 'Sat'
}
print(len(days)) # 👉 7
rgb = set(('red', 'green', 'blue'))
print(len(rgb)) # 👉 3
Code language: Python (python)
3) Using the len() function with user-defined object
The following example shows how to use the len()
function with a user-defined object:
class Employee:
def __init__(self, name):
self.name = name
self.dependents = []
def add_dependent(self, dependent):
self.dependents.append(dependent)
return self
def __len__(self):
return len(self.dependents)
employee = Employee('John Doe')
employee.add_dependent('Alice Doe')
employee.add_dependent('Bob Doe')
print(len(employee)) # 👉 2
Code language: Python (python)
How it works.
First, define the Employee class that has two attributes name and dependents:
class Employee:
def __init__(self, name):
self.name = name
self.dependents = []
Code language: Python (python)
Next, define the add_dependent()
that adds a dependent to the dependents list:
def add_dependent(self, dependent):
self.dependents.append(dependent)
return self
Code language: Python (python)
Then, implement the __len__()
method that returns the number of dependents of the employee.
def __len__(self):
return len(self.dependents)
Code language: Python (python)
After that, create an Employee object and add two dependents:
employee = Employee('John Doe')
employee.add_dependent('Alice Doe')
employee.add_dependent('Bob Doe')
Code language: Python (python)
Finally, pass the employee object to the
function. The len()
will call the len()
__len__()
method of the Employee class.
Summary
- Use the
len()
function to get the number of items of an object. - The
len()
function delegates the call to__len__()
method.