在Python中,__len__ 是一个特殊方法(也称为魔术方法或双下划线方法),
作用 :这个方法应该返回一个整数,表示对象的"长度"或"大小"。类似list对象实例的 len() 函数时应该返回什么值。
使用场景 :当你定义了一个类,并且想要这个类的对象能够支持 len() 函数时,你就需要在该类中定义 len 方法。
下面是一个简单的例子,展示了如何在一个类中定义 len 方法:
class MyList:
def __init__(self, initial_list=None):
if initial_list is None:
self.items = []
else:
self.items = initial_list
def __len__(self):
# 返回items列表的长度
return len(self.items)
# 使用示例
my_list = MyList([1, 2, 3, 4, 5])
print(len(my_list)) # 输出: 5
分析 :在这个例子中,MyList 类模拟了一个简单的列表。它有一个 init 方法用于初始化对象,并接受一个可选的 initial_list 参数来设置对象的初始内容。__len__ 方法则简单地返回了内部 items 列表的长度。
通过定义 len 方法,MyList 类的对象就可以像内置的列表(list)一样,使用 len() 函数来获取其长度了。