课下自主练习之迭代器问题

来源:14-5 iterator与generator

吃小锅米线

2018-04-16

http://img.mukewang.com/szimg/5ad48d9b00017b2c09180510.jpg

http://img.mukewang.com/szimg/5ad48d9b000179a817501178.jpg

http://img.mukewang.com/szimg/5ad48d9b0001d7b921181126.jpg

老师,我就弄不明白为什么在调用Book实例的description()方法的时候打印出来后面或多出个None?

写回答

2回答

吃小锅米线

提问者

2018-04-16

还是有个地方不太明白:为什么我在循环里打印book的类型,显示出来的却是<class 'iterator.Book'>//img.mukewang.com/szimg/5ad498dd00010c9309220524.jpg

为什么不直接是<class Book>呢?

就比如一个所有元素都是纯整形的一个数组a

a = [1,2,3,4,5,6]

通过map()函数把每个元素放大两倍,再循环遍历出来,print一下每个元素的类型,显示<class 'Int'>

也就是说新生成的列表里的每个元素的类型与原列表里每一个元素的类型是同一种类型。

但是我通过自定义迭代器BookCollection遍历出来的元素的类型却是<class 'iterator.Book'>呢?

我就想知道<class 'iterator.Book'>和<class Book>的区别在哪里?

0
2
吃小锅米线
回复
陈年矿泉水
其实我是没有想到好的例子去练习,就用了这个简单的例子。对于mapper高阶函数的运用知识为了加深印象而已,没有别的意思。我也知道对象可以更清晰的处理。但是,好吧,不管怎么说,只是个练习而已,不必太在意。如果你有更好的实际的例子,那么就请你分享出来,咱们一起探讨学习。
2018-06-13
共2条回复

吃小锅米线

提问者

2018-04-16

我知道了,低级错误,哈哈哈,本来book.description()实例方法就是调用print函数。结果我又在循环里又套了一层print函数。直接在循环里调用book.description()方法就行了。真是佩服我自己

0
1
7七月
学习好认真。。。自己多思考下就好了,不会有平白无故的错误。
2018-04-16
共1条回复

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14446 学习 · 4438 问题

查看课程