在python编程语言中,len是一个内置函数,全称为length,核心作用是返回给定对象的长度或者元素个数,不需要额外导入任何模块就可以直接调用,是日常开发中使用频率极高的基础函数之一。

len函数的基本语法
len函数的语法结构非常简单,只需要传入一个可计算长度的对象作为参数即可,语法格式如下:
# len函数语法 len(obj)
其中obj是必传参数,代表需要计算长度的目标对象,函数执行后会返回一个整数类型的结果,代表该对象的元素数量。
len函数的适用对象
len函数并不是对所有对象都生效,它仅支持以下类型的对象:
- 字符串(str):返回字符串中包含的字符个数,包含空格和特殊字符
- 列表(list):返回列表中包含的元素总个数
- 元组(tuple):返回元组中包含的元素总个数
- 字典(dict):返回字典中键值对的总个数
- 集合(set):返回集合中元素的总个数
- range对象:返回range对象生成的整数序列的元素个数
- 其他实现了
__len__方法的自定义对象
不同场景下的使用示例
计算字符串长度
字符串使用len函数时,会统计所有字符的数量,包括空格和标点:
# 定义测试字符串 test_str = "hello python" # 调用len函数计算长度 str_len = len(test_str) print(str_len) # 输出结果:12,包含中间空格
计算列表长度
列表的长度就是其中元素的个数,不管元素是什么类型:
# 定义测试列表 test_list = [1, "a", True, [2, 3]] # 计算列表长度 list_len = len(test_list) print(list_len) # 输出结果:4
计算字典长度
字典的长度是其键值对的数量,和键或值的内容无关:
# 定义测试字典
test_dict = {"name": "张三", "age": 20, "city": "北京"}
# 计算字典长度
dict_len = len(test_dict)
print(dict_len) # 输出结果:3
计算range对象长度
range对象的长度就是其生成的序列中整数的个数:
# 定义range对象,生成0到4的整数 test_range = range(5) # 计算range长度 range_len = len(test_range) print(range_len) # 输出结果:5
使用注意事项
在使用len函数时,需要注意以下几点:
- 传入的参数必须是支持长度计算的对象,否则会抛出
TypeError异常,比如对整数、浮点数使用len函数就会报错 - 对于字典来说,len函数统计的是键值对数量,不是键或者值的长度
- 自定义类的实例如果想要支持len函数,需要在类中实现
__len__方法,该方法需要返回整数类型的结果
以下是一个自定义类实现__len__方法的示例:
class MyList:
def __init__(self, data):
self.data = data
# 实现__len__方法,返回data的长度
def __len__(self):
return len(self.data)
# 实例化自定义类
my_obj = MyList([1, 2, 3, 4])
# 调用len函数
print(len(my_obj)) # 输出结果:4