1__len__()
类的对象能否使用len()函数,仅仅取决于其是否实现了__len__函数而已。正如基本的str,tuple,list,dict,set等,它们可以使用len()函数,也仅仅是因为它们的类实现了__len__函数而已。
自己创建的类和python中的基础类型(int,float,str,tuple,forzenset,list,set,dict)等均是平等的地位, 差别仅在于您自己创建的类中是否实现了与这些基础类中相同的功能(或者魔术函数).
上面两句话摘自一位博主的评论,是这么个理,摘录一下
代码实例:
class A:
def __init__(self):
self.a = [0]
def __len__(self):
return len(self.a)
a = A()
print(len(a))
# 返回值为1