Автор оригинала: Pankaj Kumar.
Функция Python Len () возвращает длину объекта. Как правило, функция Len () используется с последовательностями (строки, кортежными) и коллекциями (Dict, Set), чтобы получить количество элементов.
Функция Python Len ()
Функция Python Len () возвращает длину объекта. Эта функция внутренне вызывает __leen __ () функцию объекта. Таким образом, мы можем использовать функцию len () с любым объектом, который определяет функцию __leen __ ().
Давайте посмотрим на некоторые примеры использования функции Len () со встроенными последовательностями и объектами коллекции.
# len with sequence
print('string length =', len('abc')) # string
print('tuple length =', len((1, 2, 3))) # tuple
print('list length =', len([1, 2, 3, 4])) # list
print('bytes length =', len(bytes('abc', 'utf-8'))) # bytes
print('range length =', len(range(10, 20, 2))) # range
# len with collections
print('dict length =', len({"a": 1, "b": 2})) # dict
print('set length =', len(set([1, 2, 3, 3]))) # set
print('frozenset length =', len(frozenset([1, 2, 2, 3]))) # frozenset
Выход:
string length = 3 tuple length = 3 list length = 4 bytes length = 3 range length = 5 dict length = 2 set length = 3 frozenset length = 3
Python Len () объект
Давайте определим пользовательский класс с функцией __LEN __ () и вызовите функцию Len () с помощью объекта в качестве аргумента.
class Employee:
name = ''
def __init__(self, n):
self.name = n
def __len__(self):
return len(self.name)
e = Employee('Pankaj')
print('employee object length =', len(e))
Выход:
employee object length = 6
Если мы удалим __len __ () функцию от объекта работника, мы получим следующее исключение.
TypeError: object of type 'Employee' has no len()
Ссылка: Официальная документация