为什么有的函数如emumerate()使用时是emumerate(L),如 for index ,name in emumerate(L),而其他好多函数使用时是.(),如items(),for k , v in d.items( ),而不是for k , v in items( d )。有点混乱,请大神帮忙解释下
2 回答
Iamxiaoq
TA贡献33条经验 获得超6个赞
因为L这种对象(类型)没有emumerate方法,emumerate这个只是L这个对象外的一个辅助函数,所以不能使用L.emumerate();
而d这个对象是有items()这个方法的,所以可以使用d.items();
那为什么d有items,而L却没有emumerate呢?
d.items操作的都是d对象内部的属性key,value,而emumerate只是对L做了修饰(姑且这么说吧),在L的基础上返回index,这个index并不是L的属性与L没有那么密切的关系,所以L在设计的时候没有emumerate这个方法。。。。。。。。。。。。。。
估计题主是刚接触编程不久,现在理解可能有些困难,等你以后敲多代码了,就自然会理解了。
添加回答
举报
0/150
提交
取消