因为了解了装饰器,想起来之前也有看到python中很神奇的迭代器,而且前两天在编程的时候,还想过,诶,python的循环for都是单纯迭代的,怎么不像C的for,还带有一个自行判断结束的参数呢?然后一想,不还有while么。。。包括当时觉得直接 for item in items又获得不了下标,后来了解可以用numerate,同时读取item和index,所以其实学问还是很多的,多了解,多用吧
参考:
Python itertools模块:生成迭代器(实例分析)
Xrange
Python2中常用类似xrange(10),生成列表进行迭代,Python3取消了xrange
1 | >>>type(xrange(10)) |
python2中,range的返回值是list,这意味着内存将会分布相应的长度的空间给list
1 | 10)) type(range( |
python3中返回的是一个对象,并没有将数据完全实例化,所以内存中只有一个对象的空间,对性能优化还是很有帮助的