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.