Функція len() повертає кількість елементів (довжину) об’єкта. Наприклад:
|
1 2 3 4 5 |
languages = ['Python', 'Java', 'JavaScript'] # Обчислюємо довжину списку languages length = len(languages) print(length) |
Результат:
3
Синтаксис функції len()
|
1 |
len(object) |
Параметри функції len()
Функція len() приймає один параметр:
object — об’єкт, який може бути послідовністю (рядок, байтовий об’єкт, кортеж, список, діапазон) або колекцією (словник, множина, заморожена множина).
Значення, яке повертає функція len()
Функція len() повертає кількість елементів об’єкта.
Відсутність аргументу або передача неприпустимого аргументу спричинить помилку TypeError.
Приклад №1: Як працює функція len() з кортежами, списками та діапазонами?
|
1 2 3 4 5 6 7 8 9 10 11 |
testList = [] print(testList, 'length is', len(testList)) testList = [1, 2, 3] print(testList, 'length is', len(testList)) testTuple = (1, 2, 3) print(testTuple, 'length is', len(testTuple)) testRange = range(1, 10) print('Length of', testRange, 'is', len(testRange)) |
Результат:
[] length is 0
[1, 2, 3] length is 3
(1, 2, 3) length is 3
Length of range(1, 10) is 9
Приклад №2: Як працює функція len() з рядками та байтовими об’єктами?
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
testString = '' print('Length of', testString, 'is', len(testString)) testString = 'Python' print('Length of', testString, 'is', len(testString)) # Байтовий об'єкт testByte = b'Python' print('Length of', testByte, 'is', len(testByte)) testList = [1, 2, 3] # Конвертуємо в байтовий об'єкт testByte = bytes(testList) print('Length of', testByte, 'is', len(testByte)) |
Результат:
Length of is 0
Length of Python is 6
Length of b'Python' is 6
Length of b'\x01\x02\x03' is 3
Приклад №3: Як функція len() працює зі словниками та множинами?
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
testSet = {1, 2, 3} print(testSet, 'length is', len(testSet)) # Порожня множина testSet = set() print(testSet, 'length is', len(testSet)) testDict = {1: 'one', 2: 'two'} print(testDict, 'length is', len(testDict)) testDict = {} print(testDict, 'length is', len(testDict)) testSet = {1, 2} # Заморожена множина frozenTestSet = frozenset(testSet) print(frozenTestSet, 'length is', len(frozenTestSet)) |
Результат:
{1, 2, 3} length is 3
set() length is 0
{1: 'one', 2: 'two'} length is 2
{} length is 0
frozenset({1, 2}) length is 2
Внутрішньо функція len() викликає метод __len__() об’єкта. Ми можемо думати про функцію len() як:
|
1 2 |
def len(object): return object.__len__() |
Тому ми можемо присвоїти об’єкту довільну довжину (за потреби).
Приклад №4: Як працює функція len() з об’єктами користувача?
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
class Session: def __init__(self, number = 0): self.number = number def __len__(self): return self.number # Довжина за замовчуванням дорівнює 0 s1 = Session() print(len(s1)) # Вказуємо довільну довжину s2 = Session(6) print(len(s2)) |
Результат:
0
6
