首页 > 开发 > Python > 正文

Python len()函数获取对象的长度

2023-04-24 19:21:40
字体:
来源:转载
供稿:网友

在Python中,len()函数用于获取对象的长度,即对象中项(items)的数量。

len()函数操作的对象可以是序列(如字符串,字节,元组,列表或range),也可以是集合(如字典、集合或不可变集合)。

如果len()函数操作的对象长度超过了 sys.maxsize (Python中整型数据的最大值,在32位平台中,其值通常为: 231 - 1 ,在64位平台中,其值通常为: 263 - 1 )。

Python len()语法格式

len(s)

参数

该函数的参数s可以是一个序列对象(如字符串、字节(bytes)、元组、列表或range),也可以是一个集合对象(如字典(dict)、集合(set)或不可变集合)。

返回值

该函数的返回值是一个整型数据,表示对象的长度(元素或项的个数)。

Python len()函数

len()函数求序列对象的长度

具体看下面各个例子:

# 序列对象
print('字符串长度:',len("大美中国")) #字符串
print("列表长度:", len(["C","C#","R"])) #列表
print("元组长度:", len((1,2,3,4))) #元组
print("字节长度:", len(bytes('优雅的代码','utf-8'))) #字节
print("range对象:", len(range(50,100)))  #range对象

输出结果:

字符串长度: 4
列表长度: 3
元组长度: 4
字节长度: 15
range对象: 50

len()函数求集合对象的长度

# 集合对象
dict1 = {"id":"123","name":"李兰","gender":"female"}
print("字典长度:", len(dict1)) #字典
print("集合长度:", len(set([1,2,3,5]))) #集合
print("不可变集合长度:",
         len(frozenset([2,4,6,8,10]))) #不可变集合

输出结果:

字典长度: 3
集合长度: 4
不可变集合长度: 5

len()函数的其它话题

len()函数作用于对象时,调用对象的内部函数__len__()来实现其功能,因此,如果我们在任何对象内部定义了__len__()函数的话,都可以使用len()函数作用于该对象上。

下面使用一个例子来说明其原理:

#作用于自定义对象
class Student:
    studentId = ''
    studentCnt = 0

    def __len__(self):
        return self.studentCnt

    def __init__(self):
        Student.studentCnt += 1

stu1 = Student()
print(len(stu1))

stu2 = Student()
print(len(stu2))

输出结果如下:

1
2

如果在Student类中删除__len__()函数的定义,则会引发如下异常:

TypeError: object of type 'Student' has no len()

上一篇:Python zfill()函数

下一篇:Python bool()函数

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表