为了账号安全,请及时绑定邮箱和手机立即绑定

在任务题中,class类中已经定义了__len__函数,为何要写上print len(f)才能得到个数10

class类中已经定义了__len__函数,而写print f命令后,为什么只得到[0,1,1,2,35,8,13,,21,34,55,89],而没有得到个数10.只有写print len(f)命令后才得到个数10?真心想不明白

正在回答

2 回答

这一章就是python类中的特殊方法,要使用class类中已经定义了__len__函数,要在代码中用len()来调用之前定义好的__len__函数

0 回复 有任何疑惑可以回复我~

f=Fib(10),实例化了一个Fib类,f是一个对象,返回的是一个list,[0, 1, 1, 2, 3, 5, 8, 13, 21, 34],要得到这个对象的长度(而不仅仅是一个list),所以要重新写__len__方法,我们在对对象调用len(f)时,其实际是通过调用__len__来获得长度的,相当于这是类特有的len方法。

0 回复 有任何疑惑可以回复我~
#1

慕粉0902163109 提问者

还是有些不清楚,能再讲讲吗?谢谢
2017-02-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255533    人
  • 解答问题       3038    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

在任务题中,class类中已经定义了__len__函数,为何要写上print len(f)才能得到个数10

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号