wwj520 发表于 2021-5-28 23:28:24

不能使用len这个函数

class Wy(list):
    def __init__(self,*args):
      super().__init__(args)
      self.container=
      self.couunt={}.fromkeys(range(len(self.count)),0)

    def __len__(self):
      return len(self.count)

    def __getitem__(self,key):
      slef.count += 1
      self.container
      return super().__getitem__(self,key)


为什么继承了list后就不可以使用len这个函数了?

阿奇_o 发表于 2021-5-28 23:53:33

先拼写正确再说吧。。{:10_277:}

Twilight6 发表于 2021-5-29 10:42:20



1、__init__ 魔法方法中的 ,count 拼写错误,另外 这 range 里的的 len 函数不应该对 count 使用,而是对 contaniner

2、__getitem__ 魔法方法中 self.count 参数 self 拼写错误

参考代码:

class Wy(list):
    def __init__(self,*args):
      super().__init__(args)
      self.container=
      self.count={}.fromkeys(range(len(self.container)),0)

    def __len__(self):
      return len(self.count)

    def __getitem__(self,key):
      self.count += 1
      return super().__getitem__(key)

a = Wy('pig','dog','cat')
print(len(a))
页: [1]
查看完整版本: 不能使用len这个函数