Python的len()
函数是一个内置函数,用于获取对象的长度或元素的数量。这个函数对于序列类型(如字符串、列表、元组等)和集合类型(如字典、集合等)非常有用。
函数定义
len()
函数的基本语法如下:
len(s)
s
:一个对象,可以是序列类型或集合类型。
函数返回对象中元素的数量。
基本用法
获取字符串长度
greeting = "Hello, World!"
print(len(greeting)) # 输出: 13
获取列表长度
numbers = [1, 2, 3, 4, 5]
print(len(numbers)) # 输出: 5
获取字典长度
person = {'name': 'Alice', 'age': 25, 'gender': 'Female'}
print(len(person)) # 输出: 3
高级用法
自定义对象的长度
class MyCollection:
def __init__(self):
self.items = []
def add(self, item):
self.items.append(item)
def __len__(self):
return len(self.items)
col = MyCollection()
col.add('item1')
col.add('item2')
print(len(col)) # 输出: 2
结合__iter__()
和__next__()
自定义长度
class MySequence:
def __init__(self, start, end):
self.start = start
self.end = end
def __iter__(self):
return self
def __next__(self):
if self.start > self.end:
raise StopIteration
else:
self.start += 1
return self.start - 1
def __len__(self):
return self.end - self.start + 1
seq = MySequence(1, 10)
print(len(seq)) # 输出: 10
注意事项
len()
函数不能直接用于迭代器或生成器对象。- 对于自定义对象,需要实现
__len__()
方法才能使用len()
函数。
结论
len()
是Python中一个非常有用的内置函数,它提供了一种简单的方式来获取对象的长度或元素的数量。通过上述例程,我们可以看到len()
在实际编程中的应用,以及如何有效地使用它来增强代码的可读性和健壮性。