Функция len() в Python с примерами

Рассмотрим, как использовать функцию Python len() для получения количества элементов объекта.

Содержание

Что такое функция len() в Python?

Функция len() возвращает количество элементов (длину) объекта. Вот синтаксис функции len():

len(s)

В этом синтаксисе s — это объект, длину которого вы хотите получить. Объектом может быть:

  • Последовательность, такая как строка, байты, кортеж, список или диапазон.
  • Коллекция, например, словарь, множество или frozen множество.
  • Или любой определенный пользователем объект, реализующий метод __len__().

Когда вы вызываете функцию len() для объекта, функция len() делегирует методу __len__ объекта. Другими словами, она вызовет метод __len__() объекта.

Итак, следующий вызов функции:

len(obj)

эквивалентно:

obj.__len__()

Примеры с функцией len()

Давайте рассмотрим несколько примеров использования функции Python len().

1) Использование функции len() с последовательностью

В следующем примере показано, как использовать функцию len() для получения длины строки, количества элементов в кортеже и количества элементов в диапазоне:

s = 'Python'
print(len(s))  # 👉 6

seasons =('Spring', 'Summer', 'Autumn', 'Winter')
print(len(seasons))  # 👉 4


r = range(1, 10)
print(len(r))  # 👉 9

2) Использование функции len() с коллекцией

В следующем примере функция len() используется для получения количества элементов в коллекции:

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

3) Функция len() с пользовательским объектом

В следующем примере показано, как использовать функцию len() с пользовательским объектом:

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

Как это работает.

  • Сначала определите класс Employee, который имеет два атрибута: name и dependencies:
class Employee:
    def __init__(self, name):
        self.name = name
        self.dependents = []
  • Далее определите add_dependent(), который добавляет зависимый элемент в список зависимых элементов:
def add_dependent(self, dependent):
   self.dependents.append(dependent)
   return self
  • Затем реализуйте метод __len__(), который возвращает количество иждивенцев сотрудника.
def __len__(self):
   return len(self.dependents)
  • После этого создайте объект Employee и добавьте двух иждивенцев (dependents):
employee = Employee('John Doe')
employee.add_dependent('Alice Doe')
employee.add_dependent('Bob Doe')

Наконец, передайте объект employee в функцию len(). Функция len() вызовет метод __len__() класса Employee.

Похожие посты
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *