关于python第47课视频定制容器代码中的问题
在小甲鱼第四十七课定制容器视频中,统计访问列表元素次数的代码(代码如下),实例化演示时c1=CountList(1,3,5,7,9),在访问self.values中的元素时,为什么可以直接写c1,不是应该写成self.values吗,另外我自己测试时,self.values可以访问得到结果,但是却没有改变访问次数,请问这是为什么?class CountList:
def __init__(self,*args):
self.values=
self.count={}.fromkeys(range(len(self.values)),0)
def __len__(self):
return len(self.values)
def __getitem__(self,key):
self.count+=1
return self.values 我的理解是,只有通过实例对象去访问value属性才会触发__getitem__魔法方法,达到记录的目的 昨非 发表于 2020-8-26 22:47
我的理解是,只有通过实例对象去访问value属性才会触发__getitem__魔法方法,达到记录的目的
为什么实例对象加索引值就可以直接访问,而不报错呢 chong0918 发表于 2020-8-26 23:02
为什么实例对象加索引值就可以直接访问,而不报错呢
我的理解是,类是模板,对象是依照这个模板刻出来的,类内有的函数,属性,对象当然也有(个人理解) 昨非 发表于 2020-8-26 23:04
我的理解是,类是模板,对象是依照这个模板刻出来的,类内有的函数,属性,对象当然也有(个人理解)
我理解实例化对象加索引值,分别代表self和key,应该都是这么用的 眼
页:
[1]