|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
class C:
def __init__(self,*args):
self.values = [x for x in args]
self.count = {}.fromkeys(range(len(self.values)),0)
def __len__(self):
print('len(self.values):',len(self.values)) 各位老师如何才能调用这个len的魔法方法。一直无法调用这个方法。
return len(self.values)
def __getitem__(self, item):
self.count[item] += 1
return self.values[item]
c = C(123,456,5,7,8)
这段代码没有__len__这个魔法方法也能得到答案。那这个len在里面的作用是什么。谢谢老师解答
本帖最后由 isdkz 于 2022-4-2 20:33 编辑
- class C:
- def __init__(self,*args):
- self.values = [x for x in args]
- self.count = {}.fromkeys(range(len(self.values)),0)
- def __len__(self):
- print('len(self.values):',len(self.values))
- return len(self.values)
- def __getitem__(self, item):
- self.count[item] += 1
- return self.values[item]
- c = C(123,456,5,7,8)
- # 显式调用
- print(c.__len__())
- # 隐式调用
- print(len(c))
复制代码
|
|