redaiconglin 发表于 2022-4-2 20:11:18

关于047课序列定制问题

class C:
    def __init__(self,*args):
      self.values =
      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 += 1
      return self.values
c = C(123,456,5,7,8)
这段代码没有__len__这个魔法方法也能得到答案。那这个len在里面的作用是什么。谢谢老师解答

isdkz 发表于 2022-4-2 20:30:44

本帖最后由 isdkz 于 2022-4-2 20:33 编辑

class C:
    def __init__(self,*args):
      self.values =
      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 += 1
      return self.values
c = C(123,456,5,7,8)
# 显式调用
print(c.__len__())
# 隐式调用
print(len(c))

redaiconglin 发表于 2022-4-2 20:32:34

isdkz 发表于 2022-4-2 20:30


感谢老师

isdkz 发表于 2022-4-2 20:33:45

redaiconglin 发表于 2022-4-2 20:32
感谢老师

不客气{:5_109:}
页: [1]
查看完整版本: 关于047课序列定制问题