Fra*_*ank 0 python function list
我有以下代码:
class Stat(list):
def __init__(self, lst = []):
self.s = list(lst)
def __repr__(self):
return "Stat({})".format(self.s)
def add(self, item):
self.s.append(item)
def len(self):
return len(self.s)
...(more methods, but not necessary)
Run Code Online (Sandbox Code Playgroud)
所有方法都能正常工作但是len().无论Stat对象的长度如何,返回的长度始终为0; 我不明白为什么.
小智 7
当你像这样使用它时它会返回0:
x = Stat([1,3,4,5])
print len(x)
Run Code Online (Sandbox Code Playgroud)
如果要覆盖len函数,请使用以下代码:
def __len__(self):
return len(self.s)
Run Code Online (Sandbox Code Playgroud)